### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When calling `ReceiveMessage` on a FIFO queue, I _sometimes_ get HTTP 400 with the message: 

```
  [Aws\Sqs\Exception\SqsException]                                                                                                    
  Error executing "ReceiveMessage" on "http://localhost:4566/queue/us-west-2/000000000000/commands.fifo"; AWS HTTP error: Client er   
  ror: `POST http://localhost:4566/queue/us-west-2/000000000000/commands.fifo` resulted in a `400 Bad Request` response:              
  <?xml version='1.0' encoding='utf-8'?>                                                                                              
  <ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><Error><Code>Mi (truncated...)                                    
   MissingParameter (client): The request must contain the parameter MessageGroupId. - <?xml version='1.0' encoding='utf-8'?>         
  <ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><Error><Code>MissingParameter</Code><Message>The request must c   
  ontain the parameter MessageGroupId.</Message><Type>Sender</Type></Error><RequestId>88L3LXATEGVS0JF5S9BZDEQA95ELASZCKL4EJM5NCX9Y3   
  DHMP2RK</RequestId></ErrorResponse>  
```

There doesn't seem to be a particular pattern to it, and restarting localstack makes it go away. 

### Expected Behavior

`RecieveMessage` should never require a `MessageGroupId` parameter, because such a parameter [does not exist][1].

[1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

```
docker compose up -d
```

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

My calling code is (PHP SDK):

```php
        $options = [
            'QueueUrl' => $this->config->url,
            'WaitTimeSeconds' => 4,
            'MaxNumberOfMessages' => 10,
            'VisibilityTimeout' => 10,
        ];

        $result = $this->client->receiveMessage($options);
```

### Environment

```markdown
- OS: Mac OS 12.3
- LocalStack: 0.14.3
```


### Anything else?

_No response_
"""
    Checks whether a queue with the given queue URL exists.
    :param sqs_client: the botocore client
    :param queue_url: the queue URL
    :return: true if the queue exists, false otherwise
    """
    try:
        result = sqs_client.get_queue_url(QueueName=queue_url.split("/")[-1])
        return result.get("QueueUrl") == queue_url
    except ClientError as e:
        if "NonExistentQueue" in e.response["Error"]["Code"]:
            return False
        raise
class TestSqsProvider:
    @pytest.mark.only_localstack
    def test_get_queue_url_contains_request_host(self, sqs_client, sqs_create_queue, monkeypatch):
        monkeypatch.setattr(config, "SQS_ENDPOINT_STRATEGY", "off")
        queue_name = "test-queue-" + short_uid()
        sqs_create_queue(QueueName=queue_name)
        queue_url = sqs_client.get_queue_url(QueueName=queue_name)["QueueUrl"]
        account_id = constants.TEST_AWS_ACCOUNT_ID
        host = config.get_edge_url()
        
        assert queue_url == f"{host}/{account_id}/{queue_name}"
        
        host = f"http://127.0.0.1:{config.EDGE_PORT}"
        client = aws_stack.connect_to_service("sqs", endpoint_url=host)
        queue_url = client.get_queue_url(QueueName=queue_name)["QueueUrl"]
        assert queue_url == f"{host}/{account_id}/{queue_name}"
    def test_list_queues(self, sqs_client, sqs_create_queue):