### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Given the following minimal terraform code that creates two s3 buckets where one of the buckets is used for logging

```tf
terraform {
  required_version = ">= 1.5.2"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.8.0"
    }
  }
}

resource "aws_s3_bucket" "bucket" {
  bucket = "main"
}

resource "aws_s3_bucket" "logging" {
  bucket = "logging"
}

resource "aws_s3_bucket_logging" "bucket" {
  bucket = aws_s3_bucket.bucket.id

  target_bucket = aws_s3_bucket.logging.id
  target_prefix = "log/"
}
```

Using `tflocal` to `tflocal apply` the resources to localstack running in docker-compose works as expected but `tflocal destroy` will become stuck at 
```
aws_s3_bucket_logging.bucket: Destroying... [id=main]
aws_s3_bucket_logging.bucket: Still destroying... [id=main, 10s elapsed]
```

when reviewing the localstack output the following error is observed repeatedly

```
localstack_main | 2023-08-03T00:01:55.897  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.PutBucketLogging => 500 (InternalError)
localstack_main | 2023-08-03T00:01:55.899  INFO --- [   asgi_gw_1] localstack.request.http    : PUT / => 500
localstack_main | 2023-08-03T00:01:55.949 ERROR --- [   asgi_gw_2] l.aws.handlers.logging     : exception during call chain: 'NoneType' object has no attribute 'get'
```

### Expected Behavior

`tflocal destroy` to destroy the `aws_s3_bucket_logging` logging resource.  Using terraform instead of tflocal with the same terraform configuration succeeds during apply and destroy

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

1. Create a minimal terraform module with a `main.tf` that includes the terraform code above
2. from the terraform module execute `tflocal init`
3. from the terraform module execute `tflocal apply`
4. observe the resources are created in localstack
5. from the terraform module execute `tflocal destroy`
6. observe the 500 error in the localstack logs and the terraform output is stuck on "Still destroying..."


### Environment

```markdown
- OS: macOS 13.4.1
- LocalStack: latest
```


### Anything else?

_No response_
"""
        Requests going to moto will never be subdomain based, as they passed through the VirtualHost forwarder
        """
        return False
    @patch(moto_s3_models.FakeBucket.get_permission)
    def bucket_get_permission(fn, self, *args, **kwargs):
        """
        Apply a patch to disable/enable enforcement of S3 bucket policies
        """
        if not s3_constants.ENABLE_MOTO_BUCKET_POLICY_ENFORCEMENT:
            return PermissionResult.PERMITTED
        return fn(self, *args, **kwargs)
    def key_is_locked(self):
        """
        Apply a patch to check if a key is locked
        """
        if self.lock_legal_status == "ON":
            return True
        if self.lock_mode in ["GOVERNANCE", "COMPLIANCE"]:
            now = datetime.datetime.utcnow()
            until = parse_timestamp(self.lock_until)
            if until > now:
                return True
        return False
    setattr(moto_s3_models.FakeKey, "is_locked", property(key_is_locked))
def register_custom_handlers():
    serve_custom_service_request_handlers.append(s3_cors_request_handler)
    serve_custom_service_request_handlers.append(s3_presigned_url_request_handler)
    modify_service_response.append(S3Provider.service, s3_presigned_url_response_handler)