### 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_
list_of_contacts = [
            f"+{random.randint(100000000, 9999999999)}",
            f"+{random.randint(100000000, 9999999999)}",
            f"+{random.randint(100000000, 9999999999)}",
        ]
        message = "Good news everyone!"
        topic_arn = sns_create_topic()["TopicArn"]
        for number in list_of_contacts:
            sns_subscription(TopicArn=topic_arn, Protocol="sms", Endpoint=number)
        sns_client.publish(Message=message, TopicArn=topic_arn)
        sns_backend = SNSBackend.get()
        def check_messages():
            sms_messages = sns_backend.sms_messages
            for contact in list_of_contacts:
                sms_was_found = False
                for message in sms_messages:
                    if message["endpoint"] == contact:
                        sms_was_found = True
                        break
                assert sms_was_found
        retry(check_messages, sleep=0.5)
    def test_publish_sqs_from_sns(