HIi
I had submitted a bug report too.
Regarding the issue:
A Potential solution could be on UIInput or UICamera using the OnGUI method and checking for key press here using the Event class (or storing the last event).
(Don't know why, but on OSX at least, the OnGUI Event always report the None key pressed apart the backspace
that is not reported to Input)
If the event isKey and backspace is pressed just add the \b button to the input (if not already added) or update current string and then notify the OnInput as usual.
However because the OnGUI is called after all the Updates and all the OnRenderXXX the label didn't get updated that frame but potentially at the next. Not a big issue indeed but break a little some logics.
So probably it is better to cache the results, merge with the new input string (if another key has been pressed meanwhile) and then process the text in UICamera update as usual.
It is a workaround of course but better than nothing. However I don't know if the OnGUI is called. Could I ask Arenmock some help to eventually integrate that workaround (without it introduce any subtle issues I don't know) ?
Regarding IME in general i noticed that the behaviour of UIInput is a bit weird. It append the composition string after the other texts instead of substitute them (like the standard GUI.TextField does). Why it work that way ?