But this doesn't happen in native UIs. I think this is because JS event handlers are asynchronous and not running within native event loop.
Maybe you could try turning the actual cursor invisible when dragging and instead render a custom drag cursor parented to the object being dragged.