Yes, I did call validate(). It works fine in the simulator but not on iPhones.
(The weird part is that it also appears fine on iPad Pro) 😐
As you see from the screenshot, letter j has been wrapped to the newline, but textHeight is still unchanged. If I type few more letters, I will get a textHeight change.
I also tried flash TextField. flashTF.textHeight is also not in sync when word wraps.
var flashTF:TextField = new TextField();
flashTF.border = true;
flashTF.borderColor = 0xff0000;
flashTF.multiline = true;
flashTF.wordWrap = true;
flashTF.selectable = true;
flashTF.width = 210;
flashTF.height = 24*4;
flashTF.type = TextFieldType.INPUT;