As mentioned, it seems the easiest way to do this is to configure CloudFront/Lambda@Edge to proxy requests to a prerender service. I've found a repo that seems to take care of quite a bit of the aforementioned work for you: https://github.com/sanfrancesco/prerendercloud-lambda-edge
This uses Lambda@Edge to prerender your app via a make deploy
command. Unfortunately, this uses prerender.cloud, NOT prerender.io. Hopefully this isn't a blocker.