### Is there an existing issue for this?

- [X] I have searched the existing issues and read the documentation

### Question

I'm trying to implement locally DLQ for SNS with SQS, the problem is, on localstack SQS DLQ message coming from SNS have different format than what you would expect in AWS

When I tested locally I received the message in the following format:

`"{\"Action\": [\"Publish\"], \"Message\": [\"(The original SNS message body here)\"], \"TopicArn\": [\"the topic arn in localstack\"], \"Version\": [\"2010-03-31\"]}"`

I'm using local stack 0.14.0 with docker-compose

my docker-compose file looks like this:


```
 aws:
    image: localstack/localstack:0.14.0
    restart: always
    volumes:
      - ./docker-mounts/localstack:/docker-entrypoint-initaws.d
    environment:
      - SERVICES=sqs,s3,ses,sns
      - DEFAULT_REGION=eu-west-1
      - HOSTNAME_EXTERNAL=aws.localtest.local
      - AWS_ACCESS_KEY_ID=foo
      - AWS_SECRET_ACCESS_KEY=bar
      - AWS_DEFAULT_REGION=eu-west-1
```

### Anything else?

_No response_
stream_names = []
    def _create_stream(**kwargs):
        if "StreamName" not in kwargs:
            kwargs["StreamName"] = f"test-stream-{short_uid()}"
        if "ShardCount" not in kwargs:
            kwargs["ShardCount"] = 2
        kinesis_client.create_stream(**kwargs)
        stream_names.append(kwargs["StreamName"])
        return kwargs["StreamName"]
    yield _create_stream
    for stream_name in stream_names:
        try:
            kinesis_client.delete_stream(StreamName=stream_name, EnforceConsumerDeletion=True)
        except Exception as e:
            LOG.debug("error cleaning up kinesis stream %s: %s", stream_name, e)
@pytest.fixture
def wait_for_stream_ready(kinesis_client):