Really like GCR, I've used it on a few projects. I thought about using Lambdas to serve this as well, but wanted to have zero moving parts (i.e. why spin up a whole cloud function if I can avoid it?). I also very much did not expect this to be a Process!
Even with Cloud Run et al, you still have to think about about subdomain routing. So it cuts out all of the garbage w.r.t s3 redirects, but, e.g. DNS and CloudFront (or router-cache equivalent in your cloud provider of choice) are still on the table.
For simple things like this, I'd honestly just recommend Zappa + Lambdas over a more complicated platform like Cloud Run, running a simple Flask server, serverlessly. But... Moving parts. So... See above. I digress.