### 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_
assert len(notifications) >= 1
            
            execution_arn = executions[0]["executionArn"]
            _execution_input = aws_client.stepfunctions.describe_execution(
                executionArn=execution_arn
            )["input"]
            all_msgs = []
            
            for url in q_urls:
                msgs = aws_client.sqs.receive_message(QueueUrl=url).get("Messages", [])
                assert len(msgs) >= 1
                all_msgs.append(msgs[0])
            return _execution_input, notifications[0], all_msgs
        execution_input, notification, msgs_received = retry(
            received, retries=5, sleep=15, q_urls=[queue_url, fifo_queue_url]
        )
        assert json.loads(notification) == event
        assert json.loads(execution_input) == event
        for msg_received in msgs_received:
            assert json.loads(msg_received["Body"]) == event
        
        target_ids = [topic_target_id, sm_target_id, queue_target_id, fifo_queue_target_id]
        clean_up(rule_name=rule_name, target_ids=target_ids, queue_url=queue_url)
        aws_client.stepfunctions.delete_state_machine(stateMachineArn=state_machine_arn)
    @pytest.mark.parametrize("auth", API_DESTINATION_AUTHS)
    @markers.aws.unknown
    def test_api_destinations(self, httpserver: HTTPServer, auth, aws_client, clean_up):
        token = short_uid()
        bearer = f"Bearer {token}"
        def _handler(_request: Request):