You can combine front-end and backend startup in the same package.json command. Never tried this approach for Heroku.
You can always deploy a Docker container to Heroku anyway.
I just warried about free/paid tear for Vercel. 12-24 lambdas means 12-24 possible endpoints for backed while normal site could have up to hundred (for various CRUD operations). Even if you combine several endpoints under a single lambda like "POST/GET /user" +"PUT/GET/DELETE /user/:id" there are still 6-12 unique entities that might be not enough. On Heroku you are not limited, but yes it's still 24-7 running instances and you have to scale manually in case of increasing load.
And yeah, if you need a WebSockets - forget about it with Versel. They reccomend using 3rd party integrations which pricing is awful (100 connections for free and 500 for $50/month !? Startup project might have thousands).
Woah..! Awesome.
Didn't know about these, thanks alot for sharing 🙌