Clear last cell when CJK doesn't fit and wraps
echo -e '\e[71Gabcdefghij\e[71G123456789䀀'
At 80 columns, this command first prints 10 letters at the end of the line, the very last column contains "j". Then it again prints 10 characters, the last one is a double width that doesn't fit in the last column, hence wraps to the next line.
Most terminal emulators (including vte, xterm, konsole, kitty) leave that "j" there at the end of the line, that is, the wrapping CJK character skips it. The buffer's contents become "123456789j䀀" (with a soft linebreak between "j" and "䀀").
Pterm (putty) and urxvt convert that "j" to an "unused" cell, thus copy-pasting across the linebreak reconstructs the original string "123456789䀀" perfectly.
For me, pterm's and urxvt's behavior makes more sense. xterm.js devs tend to agree and might adjust their behavior too.