Да, результат ожидаемый. В выводе echo невозможно отличить, где закончилось одно выражение и началось другое, если в выражениях присутствуют пробелы.
Можно попробовать передать через сеть два выражения разделенных специальным символом, который точно не будет встречаться ни в одном из них, например так:
На отправителе:
echo "Заголовок" "%" "Текст" | nc 192.168.10.2 10230
На приемнике:
IFS="%" while read a b; do notify-send $a $b; done < <(nc -l 10230)