### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When I fetch execution history via command below, it always returns history events in ascending order.

`awslocal stepfunctions --region eu-west-1 get-execution-history  --reverse-order --execution-arn <execution-arn> `

I also tried with 

``awslocal stepfunctions --region eu-west-1 get-execution-history  --no-reverse-order --execution-arn <execution-arn> `

it returned the same results, which proves again that `--reverse-order` didn't take effect.

I also tried with `GetExecutionHistoryCommand` from `@aws-sdk/client-sfn`, it's the same results that reverse order didn't take effect.

it seems that `PROVIDER_OVERRIDE_STEPFUNCTIONS=v2` will cause this issue, and it's set to be v2 by default in localstack v3. but if I set it back to `PROVIDER_OVERRIDE_STEPFUNCTIONS=legacy` and use loacalstack v2, then this problem won't appear anymore.

### Expected Behavior

when `--reverse-order` is provided. Execution history is returned in descending order. Also, command sent from sdk should see the same results.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker compose -f docker-compose.yml up -d

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

    awslocal stepfunctions --region eu-west-1 get-execution-history  --reverse-order --execution-arn <execution-arn> 


### Environment

```markdown
- OS: macOS 14.1.1
- LocalStack: I tried both v3.0 and v3.0.2, neither of them worked. But v2.1 worked.
```


### Anything else?

_No response_
sm.itemise()
            for sm in self.get_store(context).state_machines.values()
            if isinstance(sm, StateMachineRevision)
        ]
        state_machines.sort(key=lambda item: item["creationDate"])
        return ListStateMachinesOutput(stateMachines=state_machines)
    def list_state_machine_versions(
        self,
        context: RequestContext,
        state_machine_arn: Arn,
        next_token: PageToken = None,
        max_results: PageSize = None,
    ) -> ListStateMachineVersionsOutput:
        # 
        state_machines = self.get_store(context).state_machines
        state_machine_revision = state_machines.get(state_machine_arn)
        if not isinstance(state_machine_revision, StateMachineRevision):
            raise InvalidArn()
        state_machine_version_items = list()
        for version_arn in state_machine_revision.versions.values():
            state_machine_version = state_machines[version_arn]
            if isinstance(state_machine_version, StateMachineVersion):
                state_machine_version_items.append(state_machine_version.itemise())
            else:
                raise RuntimeError(
                    f"Expected {version_arn} to be a StateMachine Version, but gott '{type(state_machine_version)}'."
                )
        state_machine_version_items.sort(key=lambda item: item["creationDate"], reverse=True)
        return ListStateMachineVersionsOutput(stateMachineVersions=state_machine_version_items)
    def get_execution_history(