### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Here are the kinesis events from inserting/deleting a dynamodb item:

```
{"eventID":"cf1199b0","eventVersion":"1.1","dynamodb":{"ApproximateCreationDateTime":1.635284406858227E9,"SizeBytes":56,"Keys":{"hash":{"S":"hash-691"},"range":{"S":"range-153"}},"NewImage":{"hash":{"S":"hash-691"},"range":{"S":"range-153"}}},"awsRegion":"us-east-1","eventSource":"aws:dynamodb","eventName":"INSERT","tableName":"bug"}

{"eventID":"976b515b","eventVersion":"1.1","dynamodb":{"ApproximateCreationDateTime":1.6352844070969691E9,"SizeBytes":4,"Keys":{"hash":{"S":"hash-691"},"range":{"S":"range-153"}},"OldImage":null},"awsRegion":"us-east-1","eventSource":"aws:dynamodb","eventName":"REMOVE","tableName":"bug"}
```

Note that the remove event has `OldImage` = `null`

### Expected Behavior

I expected `OldImage` to be `{"hash":{"S":"hash-691"},"range":{"S":"range-153"}}`.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

https://github.com/achaphiv/issue-localstack-dynamodb-stream-to-kinesis

```
# Create table/stream and hook them up
docker-compose up -d

# Create/delete an item
./mvnw -P write-to-dynamodb

# See the produced records
./mvnw -P watch-kinesis
```

### Environment

```markdown
- OS: Manjaro Linux
- LocalStack: 0.12.19
```


### Anything else?

_No response_
for item in data["TransactItems"]:
                for key in ["Put", "Update", "Delete"]:
                    inner_item = item.get(key)
                    if inner_item:
                        existing_items.append(find_existing_item(inner_item))
            ProxyListenerDynamoDB.thread_local.existing_items = existing_items
        elif action == "UpdateTimeToLive":
            
            response = Response()
            response.status_code = 200
            self._table_ttl_map[data["TableName"]] = {
                "AttributeName": data["TimeToLiveSpecification"]["AttributeName"],
                "Status": data["TimeToLiveSpecification"]["Enabled"],
            }
            response._content = json.dumps(
                {"TimeToLiveSpecification": data["TimeToLiveSpecification"]}
            )
            fix_headers_for_updated_response(response)
            return response
        elif action == "DescribeTimeToLive":
            response = Response()
            response.status_code = 200
            if data["TableName"] in self._table_ttl_map:
                if self._table_ttl_map[data["TableName"]]["Status"]:
                    ttl_status = "ENABLED"
                else:
                    ttl_status = "DISABLED"
                response._content = json.dumps(
                    {
                        "TimeToLiveDescription": {