You can have 2 Heroku apps, one for frontend with little resources since it's all static and one for API with more resources. Then create a custom Nginx config on the static app to redirect API requests and it should work fine.
Doesn’t that create a single point of failure for both the services?
For most services, if the static server is down, the service is down as far as the user is concerned.
Therefore the added dependency may not reduce end-user-percieved reliability.
I reckon that most software services in the world are B2B rather than B2C (guessing from the fact that most users spend most of their time on a handful of services).
Why?
If you don't have an edge proxy (additional compute) you then accept all requests, or accept that a simple header is telling the truth.