CloudFlare proxy (orange cloud) causing uploading file fail (AWS S3)

Right.

Right.

That just allows Discourse to find the user’s IP address instead of having it show as cloudflare’s IP address.

The best way is to use the gray cloud. But if you want to spend more time on it, you can contrive to disable the various speed-up offerings. There are some topics where it’s discussed.