server-rendered SPAs mix JS/HTML/CSS with data meaning that if the data served by a request is not cacheable, nothing is
when a page has data that is tied to a specific user it becomes very hard to have cache-hits, at least of the dirty-cheap CDN kind of caching type
And unlike client-rendered SPAs, server-rendered don't fundamentally change how you write your code. Going from template-engine + form-redirects for mutations to an SPA is like unlocking super-powers in the user flows possible and developer capabilities. Going from SPA to server-rendered SPA brings very little new user-flow capabilities or developer-experience benefits, while bringing many downsides.
Crazy good performance and SEO is only required for websites that need to grab attention within 200ms before the user closes it down. The fact is, most code being written today is not for this kind of application and smartphones got massively better as well.
This is eerie similar to the old days of unix shared-terminals (one mainframe serving a lot of independent terminals) vs micro-computers