HOSTIP='host $HOST | grep "has address" | cut --delimiter=" " -f 4'
SERVERIP='host $SERVER | grep "has address" | cut --delimiter=" " -f 4'
Eu não tenho idéia do que você acha que isso faz, mas você deve remover essas linhas e usar apenas $ HOST e $ SERVER diretamente.
The problem is that, for a very quick second, I see something flash along the lines of "Connection Refused" (before pv overwrites it), and no file is ever transferred. The port is forwarded through my router, and nmap confirms it: ~$ sudo nmap -sU -PN -p55515 -v [...] PORT STATE SERVICE 55515/udp open|filtered unknown
Você disse para fazer uma varredura do udp. Porque você fez isso? Você não está usando o netcat no modo udp, nem isso faria sentido para a transferência de arquivos.
Also, running netcat normally doesn't work either: squircle@summit:~$ netcat 55515 [] 55515 (?) : Connection refused
Você não está encaminhando a porta corretamente.
De qualquer forma, todo esse cenário é falho desde o começo. Apenas use scp ou rsync. Se você insistir em usar lzma, canalize tar + lzma sobre ssh. Usar o netcat nessa situação não lhe compra absolutamente nada.