Any way to get Restic to work with S3 Object Locking or a Read Only key?

Yes, backup does ignore the --no-lock option but always writes and removes locks in the /lock dir of your repository.

Can you create a key which excludes the object lock from this dir?
If not, you can either use a self-patched restic version with backup respecting --no-lock (should be a small change, but take care about pruning, then!) or have a look at A restic client written in rust - #53 by alexweiss, which is lock-free by default.