No, it skips the DOM entirely and works with native elements (iOS views) directly.
This is where I get confused. How is it compiling to these elements?
That's the million dollar question and tomorrow we might get an answer.
One possibility: You have a JS interpreter running your React code. You generate a virtual DOM and hand it off to React. React sends the virtual DOM through a message bus to native code. So far, nothing crazy here, this is how frameworks like cordova work. That native code dynamically translates the virtual DOM into native UI elements.