### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

when describing using cloudformation YAML with Definition, LocalStack fails to create StateMachine. Switching to YAML with DefinitionString works as expected. 

Examples taken from here
https://docs.aws.amazon.com/step-functions/latest/dg/development-options.html#development-options-format

Attaching working example 
[localstack_stepfunctions_and_serverless.zip](https://github.com/localstack/localstack/files/7791134/localstack_stepfunctions_and_serverless.z




### Expected Behavior

YAML with Definition is much more preferable in a complex state machine description with bunch of substitutions, references and parameters

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

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

    localstack --debug start -d

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

   awslocal s3 mb s3://s4-echo-serverless-deployment-share-local
sls deploy --stage local


### Environment

```markdown
- OS: OSX Monterey
- LocalStack: latest
```


### Anything else?

Error when using YAML with Definition
[error.txt](https://github.com/localstack/localstack/files/7791149/error.txt)

Success when using YAML with DefinitionString
[success.txt](https://github.com/localstack/localstack/files/7791151/success.txt)


with pytest.raises(Exception) as err:
            aws_client.stepfunctions.start_execution(
                stateMachineArn=state_machine_arn, input="not some json"
            )
        sfn_snapshot.match("start_exec_str_inp", err.value.response)
        with pytest.raises(Exception) as err:
            aws_client.stepfunctions.start_execution(
                stateMachineArn=state_machine_arn, input="{'not': 'json'"
            )
        sfn_snapshot.match("start_exec_not_json_inp", err.value.response)
        with pytest.raises(Exception) as err:
            aws_client.stepfunctions.start_execution(stateMachineArn=state_machine_arn, input="")
        sfn_snapshot.match("start_res_empty", err.value.response)
        start_res_num = aws_client.stepfunctions.start_execution(
            stateMachineArn=state_machine_arn, input="2"
        )
        sfn_snapshot.add_transformer(sfn_snapshot.transform.sfn_sm_exec_arn(start_res_num, 0))
        sfn_snapshot.match("start_res_num", start_res_num)
        start_res_str = aws_client.stepfunctions.start_execution(
            stateMachineArn=state_machine_arn, input='"some text"'
        )
        sfn_snapshot.add_transformer(sfn_snapshot.transform.sfn_sm_exec_arn(start_res_str, 1))
        sfn_snapshot.match("start_res_str", start_res_str)
        start_res_null = aws_client.stepfunctions.start_execution(
            stateMachineArn=state_machine_arn, input="null"
        )
        sfn_snapshot.add_transformer(sfn_snapshot.transform.sfn_sm_exec_arn(start_res_null, 2))
        sfn_snapshot.match("start_res_null", start_res_null)
    @markers.aws.validated
    def test_stop_execution(