### 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,
        state_machine_arn: Arn,
        revision_id: RevisionId = None,
        description: VersionDescription = None,
    ) -> PublishStateMachineVersionOutput:
        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()
        if revision_id is not None and state_machine_revision.revision_id != revision_id:
            raise ConflictException(
                f"Failed to publish the State Machine version for revision {revision_id}. "
                f"The current State Machine revision is {state_machine_revision.revision_id}."
            )
        state_machine_version = state_machine_revision.create_version(description=description)
        if state_machine_version is not None:
            state_machines[state_machine_version.arn] = state_machine_version
        else:
            target_revision_id = revision_id or state_machine_revision.revision_id
            state_machine_version_arn = state_machine_revision.versions.get(target_revision_id)
            state_machine_version = state_machines[state_machine_version_arn]
        return PublishStateMachineVersionOutput(
            creationDate=state_machine_version.create_date,
            stateMachineVersionArn=state_machine_version.arn,
        )
    def tag_resource(