### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I wanted to test an EventBus filter that will trigger a Lambda only when a field doesn't exist or when exists and equals to false.
So I created a Lambda with the following configuration (using Serverless Framework)
This is my Lambda Configuration
```  
test:
    handler: test.handler
    memorySize: 512
    description: test
    events:
      - eventBridge:
          eventBus: ${ssm:/${self:custom.env_name}/infra/event-bus/test, 'default'}
          pattern:
            source:
              - 'other-service'
            detail-type:
              - 'test'
            detail:
              event_name:
                - 'test_event_name'
              test_field:
                - false
       - eventBridge:
            eventBus: ${ssm:/${self:custom.env_name}/infra/event-bus/test, 'default'}
            pattern:
              source:
                - 'other-service'
              detail-type:
                - 'test'
              detail:
                event_name:
                  - 'test_event_name'
                test_field:
                    is_background_job: [{exists: false}]
```

When I push an event, It doesn't trigger the Lambda. 
When I tested it on AWS, it worked perfectly.



### Expected Behavior

To trigger the Lambda

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

  localstack:
    image: localstack/localstack:1.3.0
    ports:
      - "4566-4583:4566-4583"
      - "${PORT_WEB_UI-4666}:${PORT_WEB_UI-8080}"
      - "8080:8080"
      - "4510:4510"
    environment:
      - LOCALSTACK_API_KEY=${LOCALSTACK_API_KEY- }
      - PORT_WEB_UI=8080
      - PERSISTENCE=0
      - LAMBDA_REMOTE_DOCKER=0
      - LAMBDA_EXECUTOR=docker-reuse
      - LAMBDA_REMOVE_CONTAINERS=true
      - DOCKER_HOST=unix:///var/run/docker.sock
      - LAMBDA_DOCKER_NETWORK=localstack-net
      - KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
      - LS_LOG=debug
      - DEBUG=1
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "${LOCALSTACK_VOLUME_DIR:-~/Library/Caches/localstack/volume}:/var/lib/localstack"
    networks:
      - localstack-net

### Environment

```markdown
- OS: ubuntu 20.04
- LocalStack: 1.3.0
```


### Anything else?
I tried to deploy it without the test_field filter:
```
test:
    handler: test.handler
    memorySize: 512
    description: test
    events:
      - eventBridge:
          eventBus: ${ssm:/${self:custom.env_name}/infra/event-bus/test, 'default'}
          pattern:
            source:
              - 'other-service'
            detail-type:
              - 'test'
            detail:
              event_name:
                - 'test_event_name'
 ```
And it worked well. 

return False
def handle_prefix_filtering(event_pattern, value):
    for element in event_pattern:
        if isinstance(element, (int, str)):
            if str(element) == str(value):
                return True
            if element in value:
                return True
        elif isinstance(element, dict) and "prefix" in element:
            if value.startswith(element.get("prefix")):
                return True
        elif isinstance(element, dict) and "anything-but" in element:
            if element.get("anything-but") != value:
                return True
        elif "numeric" in element:
            return handle_numeric_conditions(element.get("numeric"), value)
        elif isinstance(element, list):
            if value in list:
                return True
    return False
def identify_content_base_parameter_in_pattern(parameters) -> bool:
    return any(
        list(param.keys())[0] in CONTENT_BASE_FILTER_KEYWORDS
        for param in parameters
        if isinstance(param, dict)
    )
def get_two_lists_intersection(lst1: List, lst2: List) -> List:
    lst3 = [value for value in lst1 if value in lst2]
    return lst3
def filter_event_based_on_event_format(