### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Running `cdklocal destroy` to destroy a stack and re-running `cdklocal deploy` causes no changes in deployment. Checking with `awslocal cloudformation list-stacks --region ap-southeast-1` leads to:

```
        {
            "StackId": "arn:aws:cloudformation:ap-southeast-1:000000000000:stack/ExampleStack/d098b2f8",
            "StackName": "ExampleStack",
            "CreationTime": "2023-02-16T08:02:10.181000Z",
            "LastUpdatedTime": "2023-02-16T08:02:10.181000Z",
            "DeletionTime": "2023-02-16T08:02:44.247000Z",
            "StackStatus": "DELETE_COMPLETE",
            "DriftInformation": {
                "StackDriftStatus": "NOT_CHECKED"
            }
        },
```



### Expected Behavior

_No response_

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

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

    docker run localstack/localstack

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

    awslocal s3 mb s3://mybucket


### Environment

```markdown
- OS: MacOS 13.2 
- LocalStack: latest
```


### Anything else?

_No response_
os.path.dirname(__file__), "../../../templates/for_removal_remove.yaml"
    )
    template_body = load_template_raw(template_path)
    stack_updated = deploy_cfn_template(
        is_update=True,
        template=template_body,
        template_mapping={"first_bucket_name": first_bucket_name},
        stack_name=stack.stack_name,
    )
    assert first_bucket_name in stack_updated.outputs["FirstBucket"]
    def assert_bucket_gone():
        available_buckets = aws_client.s3.list_buckets()
        bucket_names = [bucket["Name"] for bucket in available_buckets["Buckets"]]
        return first_bucket_name in bucket_names and second_bucket_name not in bucket_names
    poll_condition(condition=assert_bucket_gone, timeout=20, interval=5)
@markers.snapshot.skip_snapshot_verify(
    paths=[
        "$..NotificationARNs",
        "$..IncludeNestedStacks",
        "$..Parameters",
    ]
)
@markers.aws.validated
def test_empty_changeset(snapshot, cleanups, aws_client):
    """
    Creates a change set that doesn't actually update any resources and then tries to execute it
    """
    snapshot.add_transformer(snapshot.transform.cloudformation_api())
    stack_name = f"stack-{short_uid()}"
    change_set_name = f"change-set-{short_uid()}"