Web applications happened almost by accident when Microsoft inserted the XMLHttpRequest method into IE. Up to that point, HTML was very much a document repository, with user interaction via forms.
Now, HTML is an artifact. It just happens to be there, and it’s really not the best language for designing interactive applications. I think it’s better than, say, Java Swing components in that it is declarative, but still it is clunky.
With React/Angular/Vue, you’re seeing the beginnings of a divorce from HTML/CSS styling, and closer to a programmed set of interrelated components that just happen to have residual HTML in them. I think the residual HTML will disappear as time goes on.