### 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.
)
        subscriptions = []
        if attributes.get("Subscription") is not None:
            subscriptions = attributes["Subscription"]
            del attributes["Subscription"]
        tags = []
        if attributes.get("Tags") is not None:
            tags = attributes["Tags"]
            del attributes["Tags"]
        
        if model.get("TopicName") is None:
            model["TopicName"] = f"topic-{short_uid()}"
        create_sns_response = sns.create_topic(Name=model["TopicName"], Attributes=attributes)
        request.custom_context[REPEATED_INVOCATION] = True
        model["TopicArn"] = create_sns_response["TopicArn"]
        
        for subscription in subscriptions:
            sns.subscribe(
                TopicArn=model["TopicArn"],
                Protocol=subscription["Protocol"],
                Endpoint=subscription["Endpoint"],
            )
        if tags:
            sns.tag_resource(ResourceArn=model["TopicArn"], Tags=tags)
        return ProgressEvent(
            status=OperationStatus.SUCCESS,
            resource_model=model,
            custom_context=request.custom_context,
        )
    def read(