Concordo com tudo que você disse.
Mas, existem frameworks de trabalho que facilitam a sua vida e tornam o Front-End bastante organizado, desde que eu comecei a fazer meus projetosem Angular / TypeScript eu não tive mais problemas arquiteturais... Fica tudo muito estruturado e organizado.
Combine então o Back-End com um Java Spring Boot e tudo vai ficar perfeito.
Larga o React e o JS nativo, se você quer organização. Ele é uma bagunça mesmo.