Same here. Mixing ui and data logic layer was not pretty. Alpine js didn't cut it for me.
Also there is a transformation on js before handing diffs to Morphdom. There was no "replace the whole thing" without having to perform recursive diffs back then, not sure if it has now.