### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

If the describeStream with latest shardId is passed, the shard id is supposed to be excluded from the list but the response contains that shard id to.

Here is the documentation that the shard needs to be excluded, this is used for pagination purposes.

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_StreamDescription.html

This issue causes problems in using localstack dynamodb streams along with flink, as this shard is always assumed as newly discovered shard resulting in consuming the same messages again.

### Expected Behavior

The shard id that is included as part of `DescribeStreams` should not be returned in the response.

### 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



### Environment

```markdown
OS:  Mac
LocalStack: latest
```

```
 ~ aws --endpoint-url http://localhost:4566 --region=us-east-1 dynamodbstreams  describe-stream --stream-arn arn:aws:dynamodb:us-east-1:000000000000:table/FDXTable/stream/2022-05-27T17:21:56.267 --exclusive-start-shard-id shardId-00000001653700000000-000000000000  
{
    "StreamDescription": {
        "StreamArn": "arn:aws:dynamodb:us-east-1:000000000000:table/FDXTable/stream/2022-05-27T17:21:56.267",
        "StreamLabel": "2022-05-27T17:21:56.267",
        "StreamStatus": "ENABLED",
        "StreamViewType": "NEW_IMAGE",
        "TableName": "FDXTable",
        "KeySchema": [
            {
                "AttributeName": "Id",
                "KeyType": "HASH"
            }
        ],
        "Shards": [
            {
                "ShardId": "shardId-00000001653700000000-000000000000",
                "SequenceNumberRange": {
                    "StartingSequenceNumber": "49629907235008115231694315947888915499042828007579320322"
                }
            }
        ]
    }
}

```

https://github.com/localstack/localstack/blob/master/localstack/services/dynamodbstreams/provider.py#L51
the input parameter is never used. the shard ids are in ascending order and so all the shard ids less than or equal to passed shard id should be excluded from the result

### Anything else?

_No response_
return _client
@pytest.fixture(scope="class")
def boto3_session():
    if os.environ.get("TEST_TARGET", "") == "AWS_CLOUD":
        return boto3.Session()
    return boto3.Session(
        aws_access_key_id="__test_call__",
        aws_secret_access_key="__test_key__",
    )
@pytest.fixture(scope="class")
def aws_http_client_factory(boto3_session):
    """
    Returns a factory for creating new ``SigningHttpClient`` instances using a configurable botocore request signer.
    The default signer is a SigV4QueryAuth. The credentials are extracted from the ``boto3_sessions`` fixture that
    transparently uses your global profile when TEST_TARGET=AWS_CLOUD, or test credentials when running against
    LocalStack.
    Example invocations
        client = aws_signing_http_client_factory("sqs")
        client.get("http://localhost:4566/000000000000/my-queue")
    or
        client = aws_signing_http_client_factory("dynamodb", signer_factory=SigV4Auth)
        client.post("...")
    """
    def factory(