What’s the Idiomatic Vanilla JavaScript way to bind data and UI in a web browser?
Web components, invoker commands API, etc.
What are you really asking? You use data to populate content or inform your logic.
With webcomponent each tag is a component instance that can hold data and there are hooks for attributes change
The whole thing boils down to creating objects (the constructor is built-in) and using functions on objects. Functions are objects, too. In fact, everything except primitive values are objects.
IMHO knowledge of C++, Python, or pretty much everything that's not a lisp variant, doesn't translate well to JavaScript.
There's such a nice language with its own silly warts, readily available to pretty much anyone with a computer regardless of form factor, being misunderstood by the vast majority of programmers.