### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When requesting a  Complete operation at the end of a multi part upload, the parts have to be sorted in ascending order of part number.
AWS S3 issues an error if it is not the case. localstack does not generate such error (although, its log issues warnings)/

### Expected Behavior

Complete should generate an error

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

localstack start

Buggy software extract (simplified)
```golang
	wg := errgroup.Group{}
	for i := 0; i < 3; i++ {
		wg.Go(func() error {
			rd, err := os.Open(source)
			if err != nil {
				return err
			}
			return u.Upload(rd, i, 10*_cMB)  // uploads and stores for part i
		})
	}
	err :=  wg.Wait()
if err != nil {
...
}
err = u.Complete()
// as using i inside the routines, all the four parts will have the same value 3
```

### Environment

```markdown
- OS:Ubuntu 20.04
- LocalStack: latest pro
```


### Anything else?

_No response_
assert response.status_code == 200
        assert to_str(response.content) == content
    @pytest.mark.only_localstack
    def test_s3_hostname_with_subdomain(self, aws_http_client_factory):
        """
        This particular test validates the fix for localstack#7424
        Moto would still validate with the `host` header if buckets where subdomain based even though in the new ASF
        provider, every request was forwarded by the VirtualHost proxy.
        """
        s3_http_client = aws_http_client_factory("s3", signer_factory=SigV4Auth)
        endpoint_url = _endpoint_url()
        # this 
        resp = s3_http_client.get(endpoint_url)
        assert resp.ok
        assert resp.ok
        assert b"<Bucket" in resp.content
        # the 
        resp = s3_http_client.get(endpoint_url, headers={"host": "aws.test.local"})
        assert resp.ok
        assert b"<Bucket" in resp.content
    @pytest.mark.skip_offline
    @pytest.mark.aws_validated
    @pytest.mark.skip_snapshot_verify(condition=is_old_provider, paths=["$..AcceptRanges"])
    def test_s3_lambda_integration(
        self,
        lambda_client,
        create_lambda_function,
        lambda_su_role,
        s3_client,
        s3_create_bucket,