That seems like a very very strong claim. "You should do an SPA in case you ever need to make an SPA". Like what do you think actually needs to be an SPA?
Here's my list of popular sites that don't need to be an SPA but are anyway
* Reddit, nothing about it lends itself to being an SPA at all.
* Facebook, I think they went the SPA route in order to make it more difficult for ad blockers
* Netflix (don't know how related this choice is to DRM constraints honestly)
* paypal
* gmail
Here's my list of sites that do need to be an SPA, or are at least easier if you make them as an SPA.
* Google maps
* Google docs
* Photopea
* Discord (This is almost all achievable with something like HTMX, save the webrtc stuff, but I think it would be more of a pain and would rely on a lot of complicated session management stuff happening on the server)
* AirBnb, which I'll give a pass since it makes such heavy use of maps.
My take away is that if you're reaching for the standard SPA toolkit you might be better off using something like QT or Godot engine, writing native code, and compiling it for the web. Anything that uses maps or rich text editing probably should be done as an SPA, although if you can make it so that just the one component is "rich" you should probably do that.
Using more complicated components can be a reasonable idea, like using a graphing widget or a maps widget, but you can do those things without making your entire app an SPA.
I just don't buy the "you might need to make your app an SPA some day to you might as well take on the technical burden from that decision now" idea. Very very few projects need to be an SPA, and when you have one it's probably pretty obvious.