Acho que é um exagero dizer que o React está matando outras libs, afinal toda semana aparece uma lib de UI nova, aparece um paradigma de construção de UI novo, aparece um toolkit pra Svelte, Vue, etc...
O que faz o React ser mainstream é porque é da Meta...
Sabemos todos que o React veio pra ficar, mas, seu poder de desenvolvimento pode ser facilitado e evoluído dependendo do sistema que você está criando, como uma landing, que pode ser usado o HTML padrão, ou um sistema menos complexo, que pode ser dada a chance ao Express e o EJS pra componentização, e uma simples lib de caching.
Esse seu ponto é falho em dois campos, que geralmente costumam ser os mais padrões:
- Imagine que você pegou um freela onde precisa desenvolver uma Landing Page rápidamente: Você usa React/Svelte/Vue para poder aproveitar sua sintaxe de UI declarativa, com uma componentização fácil, além de ser otimizaada para builds e ser plug-and-play em várias plataformas de deploy para front-end.
- Você não vai querer usar Express e EJS num projeto desses, pois você estaria gastando tempo preparando o ambiente enquanto essas libs + algum toolkit como o Vite já realiza isso out of the box.
- Imagine que você é uma empresa grande que precisa otimizar a interface porque ela puxa muita capacidade de processamento do cliente: Você prefere desenvolver uma otimização do zero ou usar as otimizações já industrialmente testadas que o React oferece como memoização de componentes e funções?
ÓBVIO: Existem enésimas situaçõs onde o React/Vue/Svelte não é o melhor pedido e se fosse evitado, seria melhor, mas simplesmente são usados porque são Bibliotecas de UI, nada mais do que isso. Elas só regem a forma que você declara suas interfaces.