I built a small router that can use Prerender for SEO compatibility on vanilla React projects. So there are some alternatives.
as an end user, the only downside would be the typical SPA ones, such as the client needs to render the site with JS like you mentioned (except in cases where we use pre-rendering).
here's an example site built with Routerino if you'd like to experience what it is like in usage: https://virtourlimited.netlify.app/