### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Setting `KINESIS_INITIALIZE_STREAMS` no longer is taking in the newest localstack/localstack:latest image. You can see some logs here:

https://github.com/etspaceman/kinesis4cats/actions/runs/5835796510/job/15828063287

`initializeStreams` is null

```
[info] kinesis.mock.KinesisMockService$ 2023-08-11T18:33:21.836147Z contextId=1ce47d17-0b9a-4ad5-927d-4e9fed8b5829, cacheConfig={"awsAccountId":"000000000000","awsRegion":"us-east-1","createStreamDuration":{"length":0,"unit":"MILLISECONDS"},"deleteStreamDuration":{"length":0,"unit":"MILLISECONDS"},"deregisterStreamConsumerDuration":{"length":0,"unit":"MILLISECONDS"},"initializeStreams":null,"logLevel":"INFO","mergeShardsDuration":{"length":0,"unit":"MILLISECONDS"},"onDemandStreamCountLimit":10,"persistConfig":{"fileName":"000000000000.json","interval":{"length":5,"unit":"SECONDS"},"loadIfExists":true,"path":"../../../var/lib/localstack/tmp/state/kinesis","shouldPersist":true},"registerStreamConsumerDuration":{"length":0,"unit":"MILLISECONDS"},"shardLimit":100,"splitShardDuration":{"length":0,"unit":"MILLISECONDS"},"startStreamEncryptionDuration":{"length":0,"unit":"MILLISECONDS"},"stopStreamEncryptionDuration":{"length":0,"unit":"MILLISECONDS"},"updateShardCountDuration":{"length":0,"unit":"MILLISECONDS"}} Logging Cache Config
```

Reverting to 2.2.0 resolves the issue.

### Expected Behavior

`KINESIS_INITIALIZE_STREAMS` sets values

### 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 run localstack/localstack:latest

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

    awslocal kinesis list-streams


### Environment

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


### Anything else?

_No response_
default_startup_timeout = 60
    def __init__(self):
        self._lock = threading.RLock()
        self._servers: dict[str, KinesisMockServer] = {}
    def get_server_for_account(self, account_id: str) -> KinesisMockServer:
        if account_id in self._servers:
            return self._servers[account_id]
        with self._lock:
            if account_id in self._servers:
                return self._servers[account_id]
            LOG.info("Creating kinesis backend for account %s", account_id)
            self._servers[account_id] = self._create_kinesis_mock_server(account_id)
            self._servers[account_id].start()
            if not self._servers[account_id].wait_is_up(timeout=self.default_startup_timeout):
                raise TimeoutError("gave up waiting for kinesis backend to start up")
            return self._servers[account_id]
    def shutdown_all(self):
        with self._lock:
            while self._servers:
                account_id, server = self._servers.popitem()
                LOG.info("Shutting down kinesis backend for account %s", account_id)
                server.shutdown()
    def _create_kinesis_mock_server(self, account_id: str) -> KinesisMockServer:
        """
        Creates a new Kinesis Mock server instance. Installs Kinesis Mock on the host first if necessary.
        Introspects on the host config to determine server configuration:
        config.dirs.data -> if set, the server runs with persistence using the path to store data
        config.LS_LOG -> configure kinesis mock log level (defaults to INFO)
        config.KINESIS_LATENCY -> configure stream latency (in milliseconds)