I'm not sure what you mean by very integrated with win32u. Exposing builtin IMEs as "normal" IMEs is not affected by changes that I suggest. For driver interface, it would just replace one driver entry by another.
I think I was confused by the idea of adding win32u specific interface for the callbacks. I'll consider doing this, as I think it also make sense to pass NtUserNotifyIMEStatus calls.
I'm curious then, is there any advantage of using `NtUserMessageCall` vs `NtUserCallOneParam` or one of the other flavor? `NtUserMessageCall` takes a hwnd as first parameter, it feels a bit wrong to use an HIMC there.