Handler берётся из ViewRoot. Он есть только у приаттаченной вьюхи и только тогда post работает.
Интересненько, sps. Дома чекну, что будет если создать вьюху в отрыве от ViewGroup, написав val testTextView = TextView(context), а затем передав её в другой поток и затеттить ей текст через post. В теории, должно упасть нафиг.