### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I created an SQS FIFO queue with content based deduplication and sent a message that contains the same messageBody and attributes twice.

The message gets sent and received by the queue twice.

Im using the latest version of localstack with docker-compose.


### Expected Behavior

When ContetBasedDeduplication is set to true a message with the same body should only be recieved once by the queue during the 5 minute deduplication interval.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

create queue
```
sqs_client.create_queue(
            QueueName='my_queue.fifo',
            Attributes={
                'FifoQueue': 'true',
                'ContentBasedDeduplication': 'true'
            },
        )
```

send message
```
item = {'hello': 'hola'}
sqs_client.send_message(
            QueueUrl='my_queue.fifo',
            MessageBody=json.dumps(item),
            MessageAttributes= {'hello': {'StringValue': 'hola', 'DataType': 'String'}},
            MessageGroupId='group-1'
        )
```





### Environment

```markdown
- OS:Ubuntu 20.04
- LocalStack: latest
```


### Anything else?

_No response_
queue_name = f"queue-{short_uid()}"
        attributes = {
            "VisibilityTimeout": "69",
        }
        queue_url = sqs_create_queue(QueueName=queue_name, Attributes=attributes)
        assert sqs_create_queue(QueueName=queue_name, Attributes=attributes) == queue_url
    @pytest.mark.aws_validated
    def test_receive_message_wait_time_seconds_and_max_number_of_messages_does_not_block(
        self, sqs_client, sqs_queue
    ):
        """
        this test makes sure that `WaitTimeSeconds` does not block when messages are in the queue, even when
        `MaxNumberOfMessages` is provided.
        """
        sqs_client.send_message(QueueUrl=sqs_queue, MessageBody="foobar1")
        sqs_client.send_message(QueueUrl=sqs_queue, MessageBody="foobar2")
        
        assert poll_condition(lambda: get_qsize(sqs_client, sqs_queue) == 2)
        then = time.time()
        response = sqs_client.receive_message(
            QueueUrl=sqs_queue, MaxNumberOfMessages=3, WaitTimeSeconds=5
        )
        took = time.time() - then
        assert took < 2  
        assert (
            len(response.get("Messages", [])) >= 1
        ), f"unexpected number of messages in {response}"
    @pytest.mark.aws_validated
    def test_wait_time_seconds_waits_correctly(self, sqs_client, sqs_queue):