### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I am receiving a ResourceNotFoundException when attempting to run a BatchGetItem operation on a table that exists.  Downgrading to `0.14.2` fixes the issue and I was not receiving this issue on Friday when running the `latest` container.  I am able to run `scan` and `query` requests successfully on these tables.

### Expected Behavior

BatchGetItem should work on tables that exist

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

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

    docker run localstack/localstack

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

- `awslocal dynamodb create-table --table-name test-table --attribute-definitions AttributeName=PK,AttributeType=S --key-schema AttributeName=PK,KeyType=HASH --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1`
- `awslocal dynamodb list-tables`
```
{
    "TableNames": [
        "test-table"
    ]
}
```
- `awslocal dynamodb batch-get-item --request-items '{ "test-table": { "Keys": [{ "PK": {"S": "test-key"} }] } }'`
```
An error occurred (ResourceNotFoundException) when calling the BatchGetItem operation: Cannot do operations on a non-existent table
```

### Environment

```markdown
- OS: 
- LocalStack: latest
```


### Anything else?

_No response_
self, context: RequestContext, table_name: TableName, stream_arn: StreamArn
    ) -> KinesisStreamingDestinationOutput:
        
        if not self.table_exists(table_name):
            raise ResourceNotFoundException("Cannot do operations on a non-existent table")
        stream = EventForwarder.is_kinesis_stream_exists(stream_arn=stream_arn)
        if not stream:
            raise ValidationException(
                "User does not have a permission to use kinesis stream",
            )
        table_def = DynamoDBRegion.get().table_definitions.setdefault(table_name, {})
        stream_destinations = table_def.get("KinesisDataStreamDestinations")
        if stream_destinations:
            if table_def["KinesisDataStreamDestinationStatus"] == "ACTIVE":
                for dest in stream_destinations:
                    if dest["StreamArn"] == stream_arn and dest["DestinationStatus"] == "ACTIVE":
                        dest["DestinationStatus"] = "DISABLED"
                        dest["DestinationStatusDescription"] = ("Stream is disabled",)
                        table_def["KinesisDataStreamDestinationStatus"] = "DISABLED"
                        return KinesisStreamingDestinationOutput(
                            DestinationStatus="DISABLED",
                            StreamArn=stream_arn,
                            TableName=table_name,
                        )
        raise ValidationException(
            "Table is not in a valid state to disable Kinesis Streaming Destination:"
            "DisableKinesisStreamingDestination must be ACTIVE to perform DISABLE operation."
        )
    def describe_kinesis_streaming_destination(