### 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_
visible: PriorityQueue
    inflight: Set[SqsMessage]
    receipts: Dict[str, SqsMessage]
    deduplication: Dict[str, Dict[str, SqsMessage]]
    def __init__(self, name: str, region: str, account_id: str, attributes=None, tags=None) -> None:
        super().__init__(name, region, account_id, attributes, tags)
        self.deduplication = {}
    def put(
        self,
        message: Message,
        visibility_timeout: int = None,
        message_deduplication_id: str = None,
        message_group_id: str = None,
    ):
        if not message_group_id:
            raise MissingParameter("The request must contain the parameter MessageGroupId.")
        dedup_id = message_deduplication_id
        content_based_deduplication = (
            "true"
            == (self.attributes.get(QueueAttributeName.ContentBasedDeduplication, "false")).lower()
        )
        if not dedup_id and content_based_deduplication:
            dedup_id = hashlib.sha256(message.get("Body").encode("utf-8")).hexdigest()
        if not dedup_id:
            raise InvalidParameterValue(