### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

with python boto3 client

- send a message to fifo queue with MessageGroupId='1'
- receive the message
- delete the message
- send another message to the queue with MessageGroupId='1'
- try to receive the message, get none
- check message availability with get_queue_attributes, get `{'ApproximateNumberOfMessages': '1', 'ApproximateNumberOfMessagesNotVisible': '0', 'ApproximateNumberOfMessagesDelayed': '0', ...`

### Expected Behavior

expecting to receive message from the queue

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

docker-compose up


### Environment

```markdown
- OS:MacOS Sonoma 14.2.1
- LocalStack: latest
```


### Anything else?

I tried to run with Rosetta, no result
queue_arn = "arn:aws:sqs:{}:{}:{}".format(
            region, url_parts[len(url_parts) - 2], url_parts[-1]
        )
        aws_sqs_client.lambda_.create_event_source_mapping(
            EventSourceArn=queue_arn, FunctionName=lambda_name
        )
        # ad
        payload = {lambda_integration.MSG_BODY_RAISE_ERROR_FLAG: 1}
        result_send = aws_sqs_client.send_message(
            Url=queue_url, MessageBody=json.dumps(payload)
        )
        assert poll_condition(
            lambda: "Messages"
            in aws_sqs_client.receive_message(Url=dl_queue_url, VisibilityTimeout=0),
            5.0,
            1.0,
        )
        result_recv = aws_sqs_client.receive_message(Url=dl_queue_url, VisibilityTimeout=0)
        assert result_recv["Messages"][0]["MessageId"] == result_send["MessageId"]
    @markers.aws.validated
    def test_message_with_carriage_return(self, sqs_create_queue, aws_sqs_client):
        queue_name = f"queue-{short_uid()}"
        queue_url = sqs_create_queue(Name=queue_name)
        message_content = "{\r\n" + '"machineID" : "d357006e26ff47439e1ef894225d4307"' + "}"
        result_send = aws_sqs_client.send_message(Url=queue_url, MessageBody=message_content)
        result_receive = aws_sqs_client.receive_message(Url=queue_url)
        assert result_send["MD5OfMessageBody"] == result_receive["Messages"][0]["MD5OfBody"]
        assert message_content == result_receive["Messages"][0]["Body"]
    @markers.aws.validated
    def test_purge_queue(self, sqs_create_queue, aws_sqs_client):