### 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_
import ast
import asyncio
import base64
import datetime
import json
import logging
import time
import traceback
import uuid
from typing import Dict, List
import botocore.exceptions
import requests as requests
from flask import Response as FlaskResponse
from moto.sns import sns_backends as moto_sns_backends
from moto.sns.exceptions import DuplicateSnsEndpointError
from moto.sns.models import MAXIMUM_MESSAGE_LENGTH
from requests.models import Response
from localstack.aws.api import RequestContext
from localstack.aws.api.core import CommonServiceException
from localstack.aws.api.sns import (
    ActionsList,
    AmazonResourceName,
    BatchEntryIdsNotDistinctException,
    CheckIfPhoneNumberIsOptedOutResponse,
    ConfirmSubscriptionResponse,
    CreateEndpointResponse,
    CreatePlatformApplicationResponse,
    CreateSMSSandboxPhoneNumberResult,
    CreateTopicResponse,