### 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_
arn_data: ArnData = parse_arn(normalised_state_machine_arn)
        exec_arn = ":".join(
            [
                "arn",
                arn_data["partition"],
                arn_data["service"],
                arn_data["region"],
                arn_data["account"],
                "execution",
                "".join(arn_data["resource"].split(":")[1:]),
                exec_name,
            ]
        )
        if exec_arn in self.get_store(context).executions:
            raise InvalidName()  
        execution = Execution(
            name=exec_name,
            role_arn=state_machine_clone.role_arn,
            exec_arn=exec_arn,
            account_id=context.account_id,
            region_name=context.region,
            state_machine=state_machine_clone,
            start_date=datetime.datetime.now(tz=datetime.timezone.utc),
            input_data=input_data,
            trace_header=trace_header,
        )
        self.get_store(context).executions[exec_arn] = execution
        execution.start()
        return execution.to_start_output()
    def describe_execution(