All of those can be rendered server-side if needs be, and in my experience, can actually lead to a superior browsing experience compared to plain server-side served HTML. But it has to be done right.
Gatsby + Netlify with a CMS-as-a-service like Contentful or Prismic will lead you to a good result. We made e.g. https://fox-it.com/ using that, its back-end is Wordpress but it's drained empty to rebuild the website. Note how it works without JS, the dropdowns don't work but they fall back to full page navigation page. Note how with JS enabled, all the content shows up instantly. This is how it's supposed to be done.