Part of the problem is that once you expand past a single read-only document, things like navigation, routing, user input/forms- get complicated. Devs want friendly URLs, static sites for easy deploys (ie no backend for form processing).
That's true, but vast majority of websites are just a collection of interlinked single read-only documents. There are various reasons why they get overloaded with JavaScript, and none of them are beneficial to the reader.