В первом случае выход cat подключен к стандартному входу bash и ssh.ssh читает из своего стандартного ввода, следовательно, потребляет оставшуюся часть вывода команды cat, хотя в этом случае результат отбрасывается, поскольку удаленная команда сама никогда не читает стандартный ввод.
Во втором случае стандартный ввод для bashssh, ваш терминал, и bash открывает файл скрипта отдельно, поэтому ssh не видит его.