### 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_
self, context: RequestContext, execution_arn: Arn
    ) -> DescribeExecutionOutput:
        execution: Execution = self._get_execution(context=context, execution_arn=execution_arn)
        return execution.to_describe_output()
    def list_executions(
        self,
        context: RequestContext,
        state_machine_arn: Arn = None,
        status_filter: ExecutionStatus = None,
        max_results: PageSize = None,
        next_token: ListExecutionsPageToken = None,
        map_run_arn: LongArn = None,
        redrive_filter: ExecutionRedriveFilter = None,
    ) -> ListExecutionsOutput:
        # 
        executions: ExecutionList = [
            execution.to_execution_list_item()
            for execution in self.get_store(context).executions.values()
            if execution.state_machine.arn == state_machine_arn
        ]
        return ListExecutionsOutput(executions=executions)
    def list_state_machines(
        self, context: RequestContext, max_results: PageSize = None, next_token: PageToken = None
    ) -> ListStateMachinesOutput:
        # 
        state_machines: StateMachineList = [