Thank you for the detailed testing! I still prefer the v1 with the fixup, please add a tweak to winewayland to post an empty completion string in text_input_done.
Off topic, preedit_start and preedit_done don't need to call post_ime_update. winemac and winewayland don't even have a counterpart for these callbacks.
Yeah, I think I saw that before as well. They were possibly needed before some other IME updates refactor. Feel free to drop them either in a separate patch here or in a separate MR.