The workaround makes things perfect in desktop Firefox, but on Firefox for Android, at least with Gboard as the keyboard, the behavior will still be very strange. Input will often break completely, repeating the first autocomplete suggestion endlessly as soon as any key is pressed and backspace stops working (instead it also repeats the autocomplete suggestion), and sometimes it feels like there’s some string corruption going on as well (text coming from other parts of the page outside of the editor). It can be usually be brought back to sanity by doing the same thing that also fixed the cursor blinking+movement on desktop Firefox: focusing, by mouse/touch, on some other part of the page, then back on the editor.
At this point I’m not sure I should waste any more time on this, the problem is clearly with the browser. I think I’ll just keep my old textarea-based editor so it is used on Firefox for Android clients.