What you have should work already. You start at a prompt on host-a, sh it
will be showing you the PS1 from host-a. You run the "ssh host-b"
command, which probably will start an interactive shell on host-b, and so
show you the PS1 from that machine. You eventually type "exit" to leave
host-b. At this point the ssh should exit, and the shell on host-a should
print PS1 again as a prompt for the next command.
What are you actually seeing?
I am guessing that the echo with control characters is setting the
terminal title, which will not be updated. Normally you would have this
setting being part of your PS1 as well. Since your PS1 starts with a
newline, you could just prepend it. In general you should have it inside
a \[ \] pair (which as you are usiong double quote you should write as \
\[ and \\]) to indicate to bash that these characters do not take any
width on the screen.