Hello,
I'm a Node.js developer with experience in Devops as well.
As for your requirements, I'd suggest to go with Vercel which not only gives free hosting for independent projects but also integrates better with GitHub. If you are willing to use your own server, we can easily create a CD process using GitHub Actions to deploy to your server without any hassle or extra resources.
For caching, we can use go with either file-based or database-based depending on the data to be cached.
And, lastly, I've worked extensively on async-await and have also released a npm package on the async-await in the public domain. Hence, will be able to guide you well with example code snippets on the concept.
Thanks,
Arghyadeep.