### 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
assert failed["Code"] == "InvalidMessageContents"
        
        messages = []
        def collect_messages():
            response = aws_sqs_client.receive_message(
                Url=queue_url, MaxNumberOfMessages=10, WaitTimeSeconds=1
            )
            messages.extend(response.get("Messages", []))
            return len(messages)
        assert poll_condition(
            lambda: collect_messages() >= 9, timeout=10
        ), f"gave up waiting messages, got {len(messages)} from 9"
        bodies = {message["Body"] for message in messages}
        assert bodies == {"0", "1", "2", "3", "4", "5", "6", "7", "8"}
    @markers.aws.only_localstack
    def test_external_endpoint(self, monkeypatch, sqs_create_queue, aws_sqs_client):
        external_host = "external-host"
        external_port = 12345
        monkeypatch.setattr(config, "SQS_ENDPOINT_STRATEGY", "off")
        monkeypatch.setattr(
            config, "LOCALSTACK_HOST", config.HostAndPort(host=external_host, port=external_port)
        )
        queue_url = sqs_create_queue()
        assert f"{external_host}:{external_port}" in queue_url
        message_body = "external_host_test"
        aws_sqs_client.send_message(Url=queue_url, MessageBody=message_body)
        receive_result = aws_sqs_client.receive_message(Url=queue_url)
        assert receive_result["Messages"][0]["Body"] == message_body
    @markers.aws.only_localstack
    def test_external_hostname_via_host_header(self, monkeypatch, sqs_create_queue):