詳しくない人ですが。
スイッチのたびにim_contextを再初期化するのが確実じゃないだろか。
ただ、現状でワークアラウンドを重ねてもしんどいだけだと思ったり思わなかったり...。

gtk_im_context_set_active
gtk_im_context_get_active
im_active signal
なんてのを作ってもらうのがホントは楽だよねぇ。