### 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_
records = []
        record = self.get_record_template()
        
        
        i = 0
        for request in transact_items:
            put_request = request.get("Put")
            if put_request:
                existing_item = existing_items[i]
                table_name = put_request["TableName"]
                keys = SchemaExtractor.extract_keys(item=put_request["Item"], table_name=table_name)
                
                stream_spec = dynamodb_get_table_stream_specification(
                    account_id=get_aws_account_id(),
                    region_name=aws_stack.get_region(),
                    table_name=table_name,
                )
                if stream_spec:
                    record["dynamodb"]["StreamViewType"] = stream_spec["StreamViewType"]
                new_record = copy.deepcopy(record)
                new_record["eventID"] = short_uid()
                new_record["eventName"] = "INSERT" if not existing_item else "MODIFY"
                new_record["dynamodb"]["Keys"] = keys
                new_record["dynamodb"]["NewImage"] = put_request["Item"]
                if existing_item: