I reached out on IRC last night, and got some other, unrelated pointers for my code, which I've now cleaned up: https://gist.github.com/echosa/355cb0dd913eecbffd9b
However, I'm still having the same original issue where players "teleport" to the correct coordinates, but immediately start falling because the terrain hasn't rendered (you can see the Y value dropping in the F3 debug info). Then, and this is the real problem, one of two things happens after the terrain does render:
1.) The player is put back on the surface at the original Y coordinate the player was "teleported" to (this is good), or
2.) The player is *not* put back on the surface, and thus the terrain generates around the player, suffocating them (this is bad).
I don't understand why sometimes #1 happens and sometimes #2 happens, nor do I understand why #2 happens at all.