Eli, thanks for taking another look. AFAIK, posframe needs to be newer than what is released in ELPA. You can get the latest from <
https://github.com/tumashu/posframe>
I also think that if you had the older version you would not have seen a tty-child-frame at all and so not have triggered the bug I see - In your test did C-x b bring up a tty child frame in the center of the window, or a regular minibuffer at the bottom of the screen?
(You are correct that I did not switch away from the selector in my repro steps, I selected the buffer and exited normally with RET).