That’s great news! Especially given that:
However, the backups are not appearing in the Discourse backend
Then it doesn’t sound so successful?
Despite this, the Discourse backend does not show any available backups.
It needs to be able to list existing objects. It sounds like it can’t.
I did try R2 a while back and it did seem to work for me. I think that I made backups work, but I’m not completely sure. There are a couple of other “I made R2 work just great except for a bunch of things that made it not work” topics as well. And now that I’m thinking about it, it may be that they too were related to not being able to list existing objects in the bucket.
My guess, that would take me an hour or more to test, is that the gz issue described earlier is resolved, but that listing files is not possible, so it might work just fine for uploads (as long as you don’t need to use the download-s3-files-to-include-in-backups feature), but not for backups.