For me XTerm (vsn 337 on Gentoo), I got the unpatched zsh -df show "after 2" which I take it differs from your results. I also got rxvt-unicode-9.22 to have the unpatched zsh -df put the curser just after the 2. OTOH, trying "st" (simple term from sucksless), I got the incorrect position "on top of" the 2. You may also want to check the terminal emulator in PuTTY. HP-UX and AIX terminals were always "odd", but those are harder to get access to.