### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Calling `describeTimeToLive` to a non-existent table returns a result rather than throwing resource not found.

Test case pseudo-code:
```
try {
  dynamo.describeTimeToLive(new DescribeTimeToLiveRequest()
         .withTableName("non-existent-table"));
  fail();
} catch (ResourceNotFoundException ex) {
  // Pass
}
```

### Expected Behavior

Expecting call to throw 

### 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`)

    TestContainers from Java

### Environment

```markdown
- OS: MacOS
- LocalStack: 2.2.0
```


### Anything else?

_No response_
self, context: RequestContext, table_name: TableName
    ) -> DescribeTimeToLiveOutput:
        backend = get_store(context.account_id, context.region)
        ttl_spec = backend.ttl_specifications.get(table_name)
        result = {"TimeToLiveStatus": "DISABLED"}
        if ttl_spec:
            if ttl_spec.get("Enabled"):
                ttl_status = "ENABLED"
            else:
                ttl_status = "DISABLED"
            result = {
                "AttributeName": ttl_spec.get("AttributeName"),
                "TimeToLiveStatus": ttl_status,
            }
        return DescribeTimeToLiveOutput(TimeToLiveDescription=result)
    def update_time_to_live(