Yeah, that's what I was referring to mainly - frontend frameworks to help manage complex state in the browser. If you want complex state in the browser, using vanilla JS to do the same clientside state and rendering becomes tedious: it's easier and more fun to shift it back to the backend.
Not sure I fully understand the second bit. Given how much more powerful servers are now (both physical and abstracted) doesn't that vertical scaling mean horizontal scaling is less necessary? If horizontal scaling is necessary, depending on where in the stack you're scaling, the global consistency offered by modern cloud data stores make it more efficient than ever for lots of servers to exchange a session cookie for state and return fully rendered HTML.