Please attach session log files both from the GUI and the code.
I have encountered S3 connection issues with the .Net assembly. The WinSCP GUI on the surface does not appear to have S3 connection issues.
An examination of logs between scripts using the .Net assembly and GUI logs seems to indicate that the GUI also has a similar connection issue but some workaround has been coded into the GUI to overcome the connection issue. There appears to be a series of retries that occurs with the GUI connection.
Until this is worked out in the .Net assembly, usage for scripting S3 operations is not an option for me.
Of note... I pivoted to making use of the AWS SDK .Net assemblies and initially would get the same connection issue... Identical error message..... "Authentication failed.The request signature we calculated does not match the signature you provided. Check your key and signing method.". Upon using the AWS SDK S3 request method that use stored creds, I was able to overcome the auth issue.