Totally agree, will be nice to have just a method that types keys, not "cleaning stuff". Actually what I do is send three spaces using the press_keycode 62 and when Appium does its "cleaning stuff" I avoid unexpected behaviours.
Maybe you can do a map en between the key codes and your test. Then you will use the press_keycode for each character, avoiding the Appium method... XD