### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When attempting to provision a FIFO SNS topic in LocalStack via CDK using `cdklocal`, e.g.:

```typescript
const topic = new sns.Topic(this, 'FIFOTopic', {
  displayName: 'topic.fifo',
  fifo: true,
  contentBasedDeduplication: true,
});
```

The resulting topic created in LocalStack is not FIFO:

![Screenshot 2023-11-27 at 12 26 44 PM](https://github.com/localstack/localstack/assets/77160631/fe0079be-1197-4a8b-8405-8014f3d633f1)

This doesn't appear to be an issue with `cdklocal`, because the template output does appear to have the correct properties:

```json
{
 "Resources": {
  "FIFOTopic5C947601": {
   "Type": "AWS::SNS::Topic",
   "Properties": {
    "ContentBasedDeduplication": true,
    "DisplayName": "topic.fifo",
    "FifoTopic": true,
    "TopicName": "SNSStack-FIFOTopic-99AA2860.fifo"
   },
   ...
   
 }
```


### Expected Behavior

A FIFO SNS Topic would be provisioned when setting `fifo: true` on the CDK construct.

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

I created this git repository to provide an example duplicating the issue: https://github.com/tbellerose-godaddy/ls-fifo-sns-cdk-bug

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

    localstack start -d

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

    
    cdklocal bootstrap
    cdklocal deploy '*'

### Environment

```markdown
- OS: macOS Ventura 13.5.2
- LocalStack: 2.3.2
```


### Anything else?

Creating a FIFO SNS Topic via the `awslocal-cli` works as expected. This is only an issue when creating via CDK.
topic_name = f"topic-{short_uid()}.fifo"
    deploy_cfn_template(
        parameters={"TopicName": topic_name},
        template_path=os.path.join(
            os.path.dirname(__file__), "../../../templates/sns_topic_fifo_dedup.yaml"
        ),
    )
    topics = aws_client.sns.list_topics()["Topics"]
    topic_arns = [t["TopicArn"] for t in topics]
    assert len([t for t in topic_arns if topic_name in t]) == 1
@markers.aws.needs_fixing
def test_sns_topic_fifo_without_suffix_fails(deploy_cfn_template, aws_client):
    stack_name = f"stack-{short_uid()}"
    topic_name = f"topic-{short_uid()}"
    path = os.path.join(
        os.path.dirname(__file__),
        "../../../templates/sns_topic_fifo_dedup.yaml",
    )
    with pytest.raises(Exception) as ex:
        deploy_cfn_template(
            stack_name=stack_name, template_path=path, parameters={"TopicName": topic_name}
        )
    assert ex.typename == "StackDeployError"
    stack = aws_client.cloudformation.describe_stacks(StackName=stack_name)["Stacks"][0]
    if is_aws_cloud():
        assert stack.get("StackStatus") in ["ROLLBACK_COMPLETED", "ROLLBACK_IN_PROGRESS"]
    else:
        assert stack.get("StackStatus") == "CREATE_FAILED"
@markers.aws.validated
def test_sns_subscription(deploy_cfn_template, aws_client):