Both in chrome and firefox on linux, in a textarea in this case the cursor never jumps (just like on a non-wrapped line), but in CodeMirror with rtlMoveVisually set to true, the cursor moves to the lower part of the rtl text first. I don't know "how wrong" this would seem to a speaker of a rtl language, though.
Well... it seems there as a huge glaring hole in the current handling of right-to-left text -- in that my code assumes that the text is displayed entirely inverted, whereas it'll only be inverted per-line. Currently, the editor code leaves line breaking entirely up to the browser, and doesn't observe where the line breaks end up, but getting this right would involve changing that somehow. Which is going to be messy.
I am not sure how to go about fixing this. Will think about it a bit more.
#1756 might simply be a different symptom of this problem.
rtlMoveVisually helped me.