### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

```
$ docker run -d -p 4566:4566 -e PROVIDER_OVERRIDE_S3=v3 localstack/localstack:2.3

$ aws --no-sign-request --endpoint-url=http://localhost:4566 s3 mb s3://tustvold

$ curl -X PUT --data-binary 'test' -H "Content-Type: text/plain" 'http://localhost:4566/tustvold/a%252Fb.txt'

$ curl 'http://localhost:4566/tustvold'
<?xml version='1.0' encoding='utf-8'?>
<ListBucketResult><IsTruncated>false</IsTruncated><Marker /><Name>tustvold</Name><Prefix /><MaxKeys>1000</MaxKeys><EncodingType>url</EncodingType><Contents><Key>a%252Fb.txt</Key><ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag><Owner><DisplayName>webfile</DisplayName><ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID></Owner><Size>0</Size><LastModified>2023-10-21T18:45:37.298607Z</LastModified><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
```

Using `PROVIDER_OVERRIDE_S3=v3` does not appear to change this behaviour, nor does it differ between ListObjects and ListObjectsV2

### Expected Behavior

```
$ docker run -d -p 4566:4566 localstack/localstack:2.0

$ aws --no-sign-request --endpoint-url=http://localhost:4566 s3 mb s3://tustvold

$ curl -X PUT --data-binary 'test' -H "Content-Type: text/plain" 'http://localhost:4566/tustvold/a%252Fb.txt'

$ curl http://localhost:4566/tustvold/a%252Fb.txt
test

$ aws --no-sign-request --endpoint-url=http://localhost:4566 s3 ls s3://tustvold
2023-10-21 19:43:04          4 a%2Fb.txt

$ curl 'http://localhost:4566/tustvold'
<?xml version='1.0' encoding='utf-8'?>
<ListBucketResult><IsTruncated>false</IsTruncated><Marker /><Contents><Key>a%2Fb.txt</Key><LastModified>2023-10-21T18:43:04Z</LastModified><ETag>"098f6bcd4621d373cade4e832627b4f6"</ETag><Size>4</Size><StorageClass>STANDARD</StorageClass><Owner><DisplayName>webfile</DisplayName><ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID></Owner></Contents><Name>tustvold</Name><MaxKeys>1000</MaxKeys></ListBucketResult>
```

Unless encoding-type is specified in the request, it shouldn't return encoded paths for compatibility with the behaviour of S3 itself. 

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

See above

### Environment

```markdown
Linux
```


### Anything else?

_No response_
Object,
    ObjectIdentifier,
    ObjectKey,
    ObjectLockConfiguration,
    ObjectLockConfigurationNotFoundError,
    ObjectLockEnabled,
    ObjectLockLegalHold,
    ObjectLockMode,
    ObjectLockRetention,
    ObjectLockToken,
    ObjectOwnership,
    ObjectVersion,
    ObjectVersionId,
    ObjectVersionStorageClass,
    OptionalObjectAttributesList,
    Owner,
    OwnershipControls,
    OwnershipControlsNotFoundError,
    Part,
    PartNumber,
    PartNumberMarker,
    Policy,
    PostResponse,
    PreconditionFailed,
    Prefix,
    PublicAccessBlockConfiguration,
    PutBucketAclRequest,
    PutObjectAclOutput,
    PutObjectAclRequest,
    PutObjectLegalHoldOutput,