### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When using DynamoDb streams (and kinesis) subsequent requests to put or update an item result in binary data being encoded in base64 format.
When an item is first created the record contains the correct data (binary, but not base64 encoded). Subsequent requests to the same item (put or update or delete) result in subsequent record data being encoded in base64.

This behavior is not observed at all when directly swapping in amazon/dynamodb-local or when using real aws.


### Expected Behavior

Binary data is not encoded in base64

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

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

 `docker-compose.yml`

```
localstack:
    image: localstack/localstack
    environment:
      - EDGE_PORT=8000
      - SERVICES=dynamodb,kinesis,s3,kms
```

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

putItem, updateItem and deleteItem from the java sdk and also a records processor that can read the records created from the stream.


### Environment

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


### Anything else?

_No response_
import json
import re
from datetime import datetime
from time import sleep
from typing import Dict
import pytest
from boto3.dynamodb.conditions import Key
from boto3.dynamodb.types import STRING
from localstack.services.awslambda.lambda_utils import LAMBDA_RUNTIME_PYTHON36
from localstack.services.dynamodbstreams.dynamodbstreams_api import get_kinesis_stream_name
from localstack.testing.snapshots.transformer import SortingTransformer
from localstack.utils import testutil
from localstack.utils.aws import aws_stack
from localstack.utils.common import json_safe, long_uid, retry, short_uid
from localstack.utils.testutil import check_expected_lambda_log_events_length
from .awslambda.test_lambda import TEST_LAMBDA_PYTHON_ECHO
from .test_kinesis import get_shard_iterator
PARTITION_KEY = "id"
TEST_DDB_TABLE_NAME = "test-ddb-table-1"
TEST_DDB_TABLE_NAME_2 = "test-ddb-table-2"
TEST_DDB_TABLE_NAME_3 = "test-ddb-table-3"
TEST_DDB_TAGS = [
    {"Key": "Name", "Value": "test-table"},
    {"Key": "TestKey", "Value": "true"},
]
@pytest.fixture()
def dynamodb(dynamodb_resource):