So some good new on progress. I found out how to get the space to work correctly, which seems to be the biggest problem with this bug. The problem looks like it is in libhangul.
The problem seems to be that when IBUS_ENABLE_SYNC_MODE is enabled it pushes all the events through the im engine (such as ibus-hangul) and since it normally only handles Koren text it doesn't know what to do when, say a space is sent through, so it says it didn't handle that space event which then IBus handles it and commits that space BEFORE the preedit. That is why the number pad causes the same problem; ibus-hangul cant handle that. Also return/enter cause the problem. (Haven't found any others, but there could be more!!)
Right now I only have the space fixed because there is a spot for it in "libhangul/hangul/hangulkeyboard.h"; which it is set to 0x0000, and changing that to what the space is hex wise 0x0020 (32 for ascii) allows for ibus hangul to handle the space. It is going to be trickier for the return/enter and num pad since those are not in the array. (Ill have to dig more into the source)
So that is the update so far. Hopefully more soon to come.