### 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_
if os.environ.get("TEST_TARGET") == "AWS_CLOUD":
        return boto3.client("s3", config=conf, endpoint_url=endpoint_url)
    # TODO in future this should work with aws_stack.create_external_boto_client
    #      currently it doesn't as authenticate_presign_url_signv2 requires the secret_key to be 'test'
    # return aws_stack.create_external_boto_client(
    #     "s3",
    #     config=conf,
    #     endpoint_url=endpoint_url,
    #     aws_access_key_id=TEST_AWS_ACCESS_KEY_ID,
    # )
    return boto3.client(
        "s3",
        endpoint_url=endpoint_url,
        config=conf,
        aws_access_key_id=TEST_AWS_ACCESS_KEY_ID,
        aws_secret_access_key=TEST_AWS_SECRET_ACCESS_KEY,
    )
def _endpoint_url(region: str = "", localstack_host: str = None) -> str:
    if not region:
        region = config.AWS_REGION_US_EAST_1
    if os.environ.get("TEST_TARGET") == "AWS_CLOUD":
        if region == "us-east-1":
            return "https://s3.amazonaws.com"
        else:
            return f"http://s3.{region}.amazonaws.com"
    if region == "us-east-1":
        return f"{config.get_edge_url(localstack_hostname=localstack_host or S3_VIRTUAL_HOSTNAME)}"
    return config.get_edge_url(f"s3.{region}.{LOCALHOST_HOSTNAME}")
def _bucket_url(bucket_name: str, region: str = "", localstack_host: str = None) -> str: