### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When I m defining a queue with 30s delay (DelaySeconds)
After sending message ApproximateNumberOfMessagesDelayed is still at 0

### Expected Behavior

Define a queue with 30s delay 
Send a message 
Verify value of ApproximateNumberOfMessagesDelayed in the queue, expected value should be 1.
This is working with release 0.14.2

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

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

    docker run localstack/localstack:latest

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)
`
awslocal sqs create-queue  --queue-name test --attributes '{"DelaySeconds":"30","MessageRetentionPeriod":"86400","ReceiveMessageWaitTimeSeconds":"0","VisibilityTimeout":"0"}'

 awslocal sqs get-queue-attributes --attribute-names All  --queue-url http://localhost:4566/000000000000/test
 awslocal sqs send-message --queue-url http://localhost:4566/000000000000/test --message-body 'test'
 awslocal sqs get-queue-attributes --attribute-names All  --queue-url http://localhost:4566/000000000000/test
`

### Environment

```markdown
- OS:Ubuntu
- LocalStack:latest or 0.14.4
```


### Anything else?

_No response_
return "".join(random.choice(string.digits) for _ in range(20))
def _create_message_attribute_hash(message_attributes) -> Optional[str]:
    
    if not isinstance(message_attributes, dict):
        return
    hash = hashlib.md5()
    for attrName in sorted(message_attributes.keys()):
        attr_value = message_attributes[attrName]
        
        MotoMessage.update_binary_length_and_value(hash, MotoMessage.utf8(attrName))
        
        MotoMessage.update_binary_length_and_value(hash, MotoMessage.utf8(attr_value["DataType"]))
        
        if attr_value.get("StringValue"):
            hash.update(bytearray([STRING_TYPE_FIELD_INDEX]))
            MotoMessage.update_binary_length_and_value(
                hash, MotoMessage.utf8(attr_value.get("StringValue"))
            )
        elif attr_value.get("BinaryValue"):
            hash.update(bytearray([BINARY_TYPE_FIELD_INDEX]))
            decoded_binary_value = base64.b64decode(attr_value.get("BinaryValue"))
            MotoMessage.update_binary_length_and_value(hash, decoded_binary_value)
        
        
    return hash.hexdigest()
def get_queue_name_from_url(queue_url: str) -> str: