I haven't actually used k8s-backed Dokku, but I imagine that it would be worth at least experimenting with if you're already committed to running stuff on k8s.
Manage it with CDK or terraform. As long as you have enough containers running, spot ends up being a non issue.
So I put together an open-source Terraform super-module to automatically set all of that up in a few lines of code.
I'm a pretty big fan of CDK if you are willing to make cloudformation and AWS your lingua franca. I use it for most of my personal projects, but professionally bias towards terraform.
I'm a former lover of Heroku and maintainer of Dokku.
AWS lambda can run plain old docker containers now too. Check out something like the serverless framework to make it easy to define a bunch of web services or APIs and deploy to lambda, knative, etc.