I think this is pretty possible. You could use Mori [0] or another set of persistent JS data structures. And you'd need to monkey-patch them to all support being used as cursors like in Om. That'd be pretty cool for those of us who can't sneak Clojure in at our day jobs.
What is it that's missing in just using plain React (with Mori or any alternative)?
In my mind, what Om is bringing to React is idiomatic state management with Clojure semantics. In js I think the local state model promoted by React is reasonable.
Mostly immutability and the ability to update DOM on real changes, I assume. The immutability comes with nice ability to easily undo things, at expense of memory.