Can the reactive graph even be updated concurrently if the UI depends on it though? Because the UI is likely to run in its own single thread...

yea, this is in javascript. it's inherently single-threaded in almost all contexts (e.g. node.js shared memory where you're intentionally bypassing core semantics for performance, and correctness is entirely on you)