I get your point - and I do use cloudflare, even with paid plan and I did split it up in the past as well. It helps for sure, but still a lot stuff is getting through.
But I came to the conclusion - and this might be just a factor for my very own setup:
I'm regenerating most domains every 5 days, so I have to generate some thousend domains per day. Splitting it up too much - like with static files - can be done, I use a dedicated Generator Server before. But I switched to an API based modell lately, because it's just more performant and flexible.
And I need one powerhouse, to get some data things done quickly. And I'm not classical hosting'em on the server, more a wildcard setup with all domains just using the same API and webserver.
If you go with static html, splitting it on a number of VPS is the better option, for sure - perhaps with one medium server to controll everything. It was just not optimal for my usecase

And yeah, compression gave a performance boost, since the API does the decompressing stuff - in cost of some CPU power, but we talk about a max CPU ussage of 5% by the API (tbh, my CPU is a bit overpowered anyway xD) - but it did give a lot of speed to the mongoDB, saved about 200ms ttfb. BTW - switching to a Python API from direct PHP DB requests was very usefull as well, since the PHP MongoDB driver really sucks in performance.
I still do have a backup server, jumping in if needed of course and the webserver is routed on different VPS, wich just host the PHP stuff
nginx cache is activated, but not really usefull, because:
I have basicly billions of single pages, wich mostly only get Search Engine visits once or twice. And they need to get unique content for these. Caching all of em is not usefull - I cache the User Pages, wich get way less requests but they aren't the problem.
The prices might be cheaper if you're going static and dont need dynamic stuff. Otherwise you will need to get a little bit power in the VPS as well and we land at perhaps the same price range. But as said:
For statics, this is a nobrainer, go VPS, there are even nice free VPS services one could register some and have a whole free setup =D