### 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_
new_record["dynamodb"]["OldImage"] = existing_item
                        new_record["eventSourceARN"] = aws_stack.dynamodb_table_arn(table_name)
                        records.append(new_record)
                    if unprocessed_put_items and len(unprocessed_put_items) > i:
                        unprocessed_item = unprocessed_put_items[i]
                        if unprocessed_item:
                            unprocessed_items["PutRequest"].update(
                                json.loads(json.dumps(unprocessed_item))
                            )
                delete_request = request.get("DeleteRequest")
                if delete_request:
                    if existing_items and len(existing_items) > i:
                        keys = delete_request["Key"]
                        new_record = copy.deepcopy(record)
                        new_record["eventID"] = short_uid()
                        new_record["eventName"] = "REMOVE"
                        new_record["dynamodb"]["Keys"] = keys
                        new_record["dynamodb"]["OldImage"] = existing_items[i]
                        new_record["dynamodb"]["SizeBytes"] = len(json.dumps(existing_items[i]))
                        new_record["eventSourceARN"] = aws_stack.dynamodb_table_arn(table_name)
                        records.append(new_record)
                    if unprocessed_delete_items and len(unprocessed_delete_items) > i:
                        unprocessed_item = unprocessed_delete_items[i]
                        if unprocessed_item:
                            unprocessed_items["DeleteRequest"].update(
                                json.loads(json.dumps(unprocessed_item))
                            )
                i += 1
        return records, unprocessed_items
    def forward_stream_records(self, records: List[Dict], table_name: str = None):