Wasn't exactly my point, it's the criticism of JS the language and the tooling, but then just repeats the same difficult to maintain approach seen in a lot of JS, but now in a new language and even more tooling
Using createElement is leaving the DOM manipulation to the C++ the browsers are written in.
Using HTML is leaving the DOM manipulation to the C++ the browsers are written in.
Using your framework (react/angular/etc) is leaving the part of the framework thats using innerHTML/createElement to leave the DOM manipulation to the C++ the browsers are written in.
Whichever path you take, the browser must do some DOM manipulation to render anything.. because that is what browsers are built to do.