### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

In AWS, DescribeSubnet Response returns:
```
<?xml version="1.0" encoding="UTF-8"?>\n
    <Response>
        <Errors>
            <Error>
                <Code>InvalidSubnetID.NotFound</Code>
                <Message>The subnet ID \'test\' does not exist</Message>
            </Error>
        </Errors>
    <RequestID>f6d041c1-1c96-4720-af30-77745504e2ba</RequestID>
</Response>
```

whereas localstack returns:
```
<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<Errors xmlns="http://ec2.amazonaws.com/doc/2016-11-15">
    <Error>
        <Code>InvalidSubnetID.NotFound</Code>
        <Message>aaThe subnet ID \'vpc-test\' does not exist</Message>
    </Error>
    <RequestID>EADJHWMM796CI5FT10XGFMGOXIPCBAHBWINMV0HR6SKBRODGCU5J</RequestID>
</Errors>

```

### Expected Behavior

It should return correct response structure. It causes terraform to complain.

### How are you starting LocalStack?

Custom (please describe below)

### Steps To Reproduce

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

    make start

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

     awslocal ec2 describe-subnets --subnet-ids vpc-test --debug


### Environment

```markdown
- OS: M1 MacOS
- LocalStack: 1.0.2.dev
```


### Anything else?

Probably `call_moto` function in `localstack/services/moto.py` is changing the error code structure.
exception = CommonServiceException("InvalidParameterValue", "Parameter x was invalid!")
    _botocore_error_serializer_integration_test(
        "sqs", "SendMessage", exception, "InvalidParameterValue", 400, "Parameter x was invalid!"
    )
def test_query_protocol_error_serialization_sender_fault():
    exception = UnsupportedOperation("Operation not supported.")
    _botocore_error_serializer_integration_test(
        "sqs",
        "SendMessage",
        exception,
        "AWS.SimpleQueueService.UnsupportedOperation",
        400,
        "Operation not supported.",
        True,
    )
def test_restxml_protocol_error_serialization_not_specified_for_operation():
    """
    Tests if the serializer can serialize an error which is not explicitly defined as an error shape for the
    specific operation.
    This can happen if the specification is not specific enough (f.e. S3's GetBucketAcl does not define the NoSuchBucket
    error, even though it obviously can be raised).
    """
    class NoSuchBucket(ServiceException):