The problem is in the c_ws_plugin__s2member_utils_urls::remote() method.
In my cases caller was c_ws_plugin__s2member_files_in::amazon_s3_auto_configure_acls().
remote() encounters the trouble in case when Amazon tries to redirect the request.
In this case response will be like:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>TemporaryRedirect</Code>
<Message>Please re-send this request to the specified temporary endpoint.
Continue to use the original request endpoint for future requests.</Message>
<Endpoint>johnsmith.s3-gztb4pa9sq.amazonaws.com</Endpoint>
</Error>
And remote() will consider that as an error instead of resending the request to required host.
In case of amazon_s3_auto_configure_acls() user will see:
Error code: 307. Error Message: Unable to update existing Amazon® S3 ACLs.
Unable to acquire existing Amazon® S3 Bucket ACLs. Temporary Redirect