I have encountered situations where I am using s5cmd cp --destination-region $RGN ..., and it works, but then s5cmd cp --no-clobber --destination-region $RGN fails with an error 400.
I have worked around the problem locally by setting the AWS_REGION environment variable to the region of the bucket in question when using s5cmd cp --no-clobber
But I think there is probably an easy fix: take doUpload's logic for calling SetRegion, and copy it into shouldOverride.