### 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_
check_attributes(message_attributes)
        check_attributes(message_system_attributes)
        check_fifo_id(message_deduplication_id)
        check_fifo_id(message_group_id)
        message: Message = Message(
            MessageId=generate_message_id(),
            MD5OfBody=md5(message_body),
            Body=message_body,
            Attributes=self._create_message_attributes(context, message_system_attributes),
            MD5OfMessageAttributes=_create_message_attribute_hash(message_attributes),
            MessageAttributes=message_attributes,
        )
        delay_seconds = delay_seconds or queue.attributes.get(QueueAttributeName.DelaySeconds, "0")
        if int(delay_seconds):
            
            
            
            threading.Timer(
                int(delay_seconds),
                queue.put,
                args=(message, message_deduplication_id, message_group_id),
            ).start()
        else:
            queue.put(
                message=message,
                message_deduplication_id=message_deduplication_id,
                message_group_id=message_group_id,
            )
        return message
    def receive_message(