### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When relaying a message with `MessageAttributes` to a SQS DLQ after failing to deliver to another SQS queue, the messages attributes were wrong.
Snapshots results:
With `RawDelivery` set to `false`:
```json
{
  "Body": {
    "Message": "test_dlq_after_sqs_endpoint_deleted",
    "MessageAttributes": {
      "attr1": {
        "Type": "Number",
        "Value": "111"
      },
      "attr2": {
        "Type": "Binary",
        "Value": "AgME"
      }
    },
    "MessageId": "<uuid:1>",
    "Signature": "<signature>",
    "SignatureVersion": "1",
    "SigningCertURL": "https://sns.<region>.amazonaws.com/SimpleNotificationService-<signing-cert-file:1>",
    "Timestamp": "date",
    "TopicArn": "arn:aws:sns:<region>:111111111111:<resource:1>",
    "Type": "Notification",
    "UnsubscribeURL": "<unsubscribe-domain>/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:<region>:111111111111:<resource:1>:<resource:2>",
  },
  "MD5OfBody": "<md5-hash>",
  "MD5OfMessageAttributes": "<md5-hash>",
  "MessageAttributes": {
    "ErrorCode": {
      "DataType": "String",
      "StringValue": "200"
    },
    "ErrorMessage": {
      "DataType": "String",
      "StringValue": "An error occurred (AWS.SimpleQueueService.NonExistentQueue) when calling the GetQueueUrl operation (reached max retries: 0): The specified queue does not exist for this wsdl version."
    },
    "RequestID": {
      "DataType": "String",
      "StringValue": "<uuid:?>"
    }
  },
  "MessageId": "<uuid:2>",
  "ReceiptHandle": "<receipt-handle:1>"
}
```
We can see added `MessageAttributes` on the received SQS message.

With `RawDelivery` set to `true`:
```json
{
  "Body": "test_dlq_after_sqs_endpoint_deleted",
  "MD5OfBody": "<md5-hash>",
  "MD5OfMessageAttributes": "<md5-hash>",
  "MessageAttributes": {
    "ErrorCode": {
      "DataType": "String",
      "StringValue": "200"
    },
    "ErrorMessage": {
      "DataType": "String",
      "StringValue": "An error occurred (AWS.SimpleQueueService.NonExistentQueue) when calling the GetQueueUrl operation (reached max retries: 0): The specified queue does not exist for this wsdl version."
    },
    "RequestID": {
      "DataType": "String",
      "StringValue": "<uuid:?>"
    }
  },
  "MessageId": "<uuid:1>",
  "ReceiptHandle": "<receipt-handle:1>"
}
```

### Expected Behavior

With `RawDelivery` set to `false`:
```json
{
  "Body": {
    "Type": "Notification",
    "MessageId": "<uuid:1>",
    "TopicArn": "arn:aws:sns:<region>:111111111111:<resource:1>",
    "Message": "test_dlq_after_sqs_endpoint_deleted",
    "Timestamp": "date",
    "SignatureVersion": "1",
    "Signature": "<signature>",
    "SigningCertURL": "https://sns.<region>.amazonaws.com/SimpleNotificationService-<signing-cert-file:1>",
    "UnsubscribeURL": "<unsubscribe-domain>/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:<region>:111111111111:<resource:1>:<resource:2>",
    "MessageAttributes": {
      "attr2": {
        "Type": "Binary",
        "Value": "AgME"
      },
      "attr1": {
        "Type": "Number",
        "Value": "111"
      }
    }
  },
  "MD5OfBody": "<md5-hash>",
  "MessageId": "<uuid:2>",
  "ReceiptHandle": "<receipt-handle:1>"
}
```
With `RawDelivery` set to `true`:
```json
{
  "Body": "test_dlq_after_sqs_endpoint_deleted",
  "MD5OfBody": "<md5-hash>",
  "MD5OfMessageAttributes": "<md5-hash>",
  "MessageAttributes": {
    "attr1": {
      "DataType": "Number",
      "StringValue": "111"
    },
    "attr2": {
      "BinaryValue": "b'\\x02\\x03\\x04'",
      "DataType": "Binary"
    }
  },
  "MessageId": "<uuid:1>",
  "ReceiptHandle": "<receipt-handle:1>"
}
```
We can see the attributes are kept and not replaced with Error messages. 

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

Using `tests.integration.test_sns.TestSNSProvider.test_redrive_policy_sqs_queue_subscription`

### Environment

```markdown
- OS:MacOS Monterey 12.5
- LocalStack: 1.0.5dev (latest)
```


### Anything else?

_No response_
assert "SigningCertURL" in payload
        token = payload["Token"]
        subscribe_url = payload["SubscribeURL"]
        service_url, subscribe_url_path = payload["SubscribeURL"].rsplit("/", maxsplit=1)
        assert subscribe_url == (
            f"{service_url}/?Action=ConfirmSubscription" f"&TopicArn={topic_arn}&Token={token}"
        )
        confirm_subscribe_request = requests.get(subscribe_url)
        confirm_subscribe = xmltodict.parse(confirm_subscribe_request.content)
        assert (
            confirm_subscribe["ConfirmSubscriptionResponse"]["ConfirmSubscriptionResult"][
                "SubscriptionArn"
            ]
            == subscription_arn
        )
        subscription_attributes = sns_client.get_subscription_attributes(
            SubscriptionArn=subscription_arn
        )
        assert subscription_attributes["Attributes"]["PendingConfirmation"] == "false"
        message = "test_external_http_endpoint"
        sns_client.publish(TopicArn=topic_arn, Message=message)
        assert poll_condition(
            lambda: len(server.log) >= 2,
            timeout=5,
        )
        notification_request, _ = server.log[1]
        assert notification_request.headers["x-amz-sns-message-type"] == "Notification"
        expected_unsubscribe_url = (
            f"{service_url}/?Action=Unsubscribe&SubscriptionArn={subscription_arn}"
        )