sorry, I was only a few versions off, try this:
Theres a few edits in different places. I think this will work. The same issue with 9+ devices exists in the current feathers and this is how I fixed it. The editor has been optimized quite a bit since then and does operate quite a bit differently in this version but I I'm almost certain it should do the trick.
The reason why it "half" works is because the text input is actually 2 display objects layered on top of eachother. When it receives focus, you see a classic textfield, displayed on the flash stage coordinates. Underneath it, a snapshot of the textfield is taken and converted to a starling texture to display in the starling stage coordinates. Naturally, on different sized devices the classic stage dimensions are not going to be the same as your starling stage dimensions and so you have to convert the coordinate system from one to the other. The snapshot of the textfield rendered underneath is in the starling display list so it doesnt need any placement calculations and so when you're not in focus, it displays correctly all the time. In the text editor class, the x and y is calculated by starling.contentScaleFactor, as a ratio, but contentScaleFactor only represents the difference between the starling viewport width and the starling stage width. Therefore if you do these calculations when the aspect ratio isnt kept, you will end up with erroneous placement. Like I said, to fix this, you have to account for the height scale factor in this case.
I will reiterate though, this is a bad practice to handle multi-resolution support.