This is a rather specific issue, but I wouldn't be surprised if it occurs due to some more general shortcoming.
In short, the issue is that, when using the fish shell in my Raspberry Pi, over ssh, that I get a bunch of left over/garbage text in my terminal. (Akin this from the fish docs.)
Most likely, this is caused by cursor movement commands desyncing. Fish often manipulates the cursor, specifically during autocompletes (which is the most prevalent location of this bug, for me).
I couldn't find any well known issues related to escape code cursor movements and ssh connections, but I suspect that somewhere along the pipeline of my machine through ssh to the fish instance running on my raspberry, some of those commands are getting dropped, which would explain the desync.
infocmp
show same data on both)?