### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

copyObject and putObject (and perhaps other requests) requests are accepted and do not return an error when an SSE KMS key is specified. 

### Expected Behavior

The error which should be returned is KMS.NotFoundException.

### How are you starting LocalStack?

Custom (please describe below)

### Steps To Reproduce

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

    Localstack testcontainers 

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

   Call copyObject/putObject via latest version using AWS SDK V2 and specific a ssekmsKeyId.

```java
final var copyObjectRequestBuilder =
        CopyObjectRequest.builder()
            .serverSideEncryption(ServerSideEncryption.AWS_KMS)
            .ssekmsKeyId("NON-EXISTENT KMS KEY")
            .sourceBucket(sourceBucketName)
            .sourceKey(sourceKey)
            .destinationBucket(destinationBucket)
            .destinationKey(destinationKey);
final var copyObjectResponse = sourceRegionS3Client.copyObject(copyObjectRequest); // Error should be thrown here but localstack does not return an error
```

### Environment

```markdown
- OS: MacOS 13.0
- LocalStack: Latest (v1.2.0)
```


### Anything else?

_No response_
grants = []
    def _create_grant(**kwargs):
        
        
        GRANTEE_PRINCIPAL_ARN = (
            "arn:aws:kms:eu-central-1:123456789876:key/198a5a78-52c3-489f-ac70-b06a4d11027a"
        )
        if "Operations" not in kwargs:
            kwargs["Operations"] = ["Decrypt", "Encrypt"]
        if "GranteePrincipal" not in kwargs:
            kwargs["GranteePrincipal"] = GRANTEE_PRINCIPAL_ARN
        if "KeyId" not in kwargs:
            kwargs["KeyId"] = kms_create_key()["KeyId"]
        grant_id = kms_client.create_grant(**kwargs)["GrantId"]
        grants.append((grant_id, kwargs["KeyId"]))
        return grant_id, kwargs["KeyId"]
    yield _create_grant
    for grant_id, key_id in grants:
        try:
            kms_client.retire_grant(GrantId=grant_id, KeyId=key_id)
        except Exception as e:
            LOG.debug("error cleaning up KMS grant %s: %s", grant_id, e)
@pytest.fixture
def kms_key(kms_create_key):