### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

S3 does not trigger Lambda when the event is:
`s3:ObjectAcl:Put`

With the event below e.g. works fine:
`s3:ObjectCreated:Put`

### Expected Behavior

In the AWS works fine, S3 triggers the Lambda with both events:
`s3:ObjectAcl:Put`
`s3:ObjectCreated:Put`

### How are you starting LocalStack?

Custom (please describe below)

### Steps To Reproduce

#### Starting localstack:

    docker-compose down -v --remove-orphans && docker-compose up

#### Put the trigger:

```shell
aws --endpoint-url=http://localhost:4566 s3api put-bucket-notification-configuration --bucket bucket --notification-configuration file://notification.json
```
```json
{
  "LambdaFunctionConfigurations": [
    {
      "Id": "xxxxxxxxxx",
      "LambdaFunctionArn": "arn:aws:lambda:us-east-1:000000000000:function:xxxxxxxxxx",
      "Events": [ "s3:ObjectAcl:Put" ],
      "Filter": {
        "Key": {
          "FilterRules": [
            {
              "Name": "suffix",
              "Value": ".json"
            }
          ]
        }
      }
    }
  ]
}
```

#### Check the trigger:

```shell
aws --endpoint-url=http://localhost:4566 s3api get-bucket-notification-configuration --bucket bucket
```

#### Change ACL:

The command below works fine, but do not trigger the Lambda:
```shell
aws --endpoint-url=http://localhost:4566 s3api put-object-acl --bucket bucket --key key --grant-full-control id=canonical
aws --endpoint-url=http://localhost:4566 s3api get-object-acl --color on --bucket bucket --key key
```

#### Try with SDK:

Even using `s3AsyncClient.putObjectAcl`, similar to the code below, the Lambda is not triggered:
https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/SetAcl.java



### Environment

```markdown
- OS: Ubuntu 18.04
- LocalStack: latest
```


### Anything else?

However, if I change the event e.g. to `s3:ObjectCreated:Put`, the Lambda trigger works fine:
```shell
aws --endpoint-url=http://localhost:4566 s3 cp notification.json s3://bucket/notification.json
```
return f"{_endpoint_url(region, localstack_host)}/{bucket_name}"
def _website_bucket_url(bucket_name: str):
    # TODO depending on region the syntax of the website vary (dot vs dash before region)
    if os.environ.get("TEST_TARGET") == "AWS_CLOUD":
        region = config.AWS_REGION_US_EAST_1
        return f"http://{bucket_name}.s3-website-{region}.amazonaws.com"
    return _bucket_url_vhost(bucket_name, localstack_host=constants.S3_STATIC_WEBSITE_HOSTNAME)
def _bucket_url_vhost(bucket_name: str, 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 f"https://{bucket_name}.s3.amazonaws.com"
        else:
            return f"https://{bucket_name}.s3.{region}.amazonaws.com"
    host = localstack_host or (
        f"s3.{region}.{LOCALHOST_HOSTNAME}" if region != "us-east-1" else S3_VIRTUAL_HOSTNAME
    )
    s3_edge_url = config.get_edge_url(localstack_hostname=host)
    # TODO might add the region here
    return s3_edge_url.replace(f"://{host}", f"://{bucket_name}.{host}")
def _generate_presigned_url(
    client: "S3Client", params: dict, expires: int, client_method: str = "get_"
) -> str:
    return client.generate_presigned_url(
        client_method,
        Params=params,
        ExpiresIn=expires,
    )
def _make_url_invalid(url_prefix: str, _key: str, url: str) -> str: