Respondendo a minha própria pergunta: esse é um problema conhecido com o Sun SSH. A melhor solução encontrada é detectar "Sun_SSH" na saída de ssh -V
e aplicar algo assim:
#!/bin/bash
# ....
( ssh host 'localCommand' | remoteCommand || pkill -P $BASHPID )
Você também pode usar $$
em vez de $BASHPID
em outros shells ou em situações mais simples (se seu shell não tiver nenhum outro processo filho).