Even angular 2 uses some sort of virtual dom under the hood. My point remains though, as all the developer manipulates are strings. I think manipulating objects (virtual dom nodes) is a more powerful and versatile way to do it.
Handlebars is not valid HTML, so I find it hard to believe it is DOM based. I believe the new version of Glimmer compiles its strings to bytecode.