### 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_
)
    @pytest.mark.parametrize(
        "schedule_expression", ["rate(1 minute)", "rate(1 day)", "rate(1 hour)"]
    )
    @markers.aws.validated
    def test_create_rule_with_one_unit_in_singular_should_succeed(
        self, schedule_expression, aws_client, clean_up
    ):
        rule_name = f"rule-{short_uid()}"
        
        try:
            aws_client.events.put_rule(Name=rule_name, ScheduleExpression=schedule_expression)
        finally:
            clean_up(rule_name=rule_name)
    @markers.aws.validated
    @pytest.mark.xfail
    def test_verify_rule_event_content(self, aws_client, clean_up):
        log_group_name = f"/aws/events/testLogGroup-{short_uid()}"
        rule_name = f"rule-{short_uid()}"
        target_id = f"testRuleId-{short_uid()}"
        aws_client.logs.create_log_group(logGroupName=log_group_name)
        log_groups = aws_client.logs.describe_log_groups(logGroupNamePrefix=log_group_name)
        assert len(log_groups["logGroups"]) == 1
        log_group = log_groups["logGroups"][0]
        log_group_arn = log_group["arn"]
        aws_client.events.put_rule(Name=rule_name, ScheduleExpression="rate(1 minute)")
        aws_client.events.put_targets(
            Rule=rule_name, Targets=[{"Id": target_id, "Arn": log_group_arn}]
        )
        def ensure_log_stream_exists():