### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

The provided example does not put a message in SQS.

### Expected Behavior

The provided example puts a message in SQS.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

The following scripts returns no items in SQS, but it should. The bit detail: foo is not matched.

```
awslocal events create-event-bus \
    --name detail-bus-1

awslocal sqs create-queue \
    --queue-name "detail-sqs-1"

awslocal events put-rule \
    --name "detail-rule-1" \
    --event-bus-name "detail-bus-1" \
    --event-pattern '{ "detail": { "foo": [ { "exists": true } ] } }'

awslocal events put-targets \
    --rule "detail-rule-1" \
    --event-bus-name "detail-bus-1" \
    --targets "Id"="detail-target-rule-1","Arn"="arn:aws:sqs:us-east-1:000000000000:detail-sqs-1","InputPath"="$.detail"

awslocal events put-events --entries '[{"DetailType": "test", "Source": "aws.test", "Detail": "{ \"foo\": \"bar\" }", "EventBusName": "detail-bus-1"}]'
awslocal sqs receive-message --queue-url http://localhost:4566/000000000000/detail-sqs-1
```

### Environment

```markdown
- OS: macOS 13.3.1
- LocalStack: 1.4.0
```


### Anything else?

_No response_
events_client.create_event_bus(Name=bus_name)
            events_client.put_rule(
                Name=rule_name,
                EventBusName=bus_name,
                EventPattern=json.dumps(pattern),
            )
            kwargs = {"InputPath": input_path} if input_path else {}
            rs = events_client.put_targets(
                Rule=rule_name,
                EventBusName=bus_name,
                Targets=[{"Id": target_id, "Arn": queue_arn, **kwargs}],
            )
            assert rs["FailedEntryCount"] == 0
            assert rs["FailedEntries"] == []
            try:
                messages = []
                for entry_asserts in entries_asserts:
                    entries = entry_asserts[0]
                    for entry in entries:
                        entry.setdefault("EventBusName", bus_name)
                    message = self._put_entries_assert_results_sqs(
                        events_client,
                        sqs_client,
                        queue_url,
                        entries=entries,
                        should_match=entry_asserts[1],
                    )
                    if message is not None:
                        messages.extend(message)
            finally: