Veja o que estava acontecendo ...
Se usado com aspas simples, elas foram interpretadas literalmente como parte do nome do arquivo (como sugerido @reinierpost). Usado sem, o arquivo .deploy/filters
estava sendo lido e analisado. No entanto, esse arquivo continha 1 linha (que não mencionei na descrição original):
.deploy
É esta regra que rsync
estava reclamando, não o caminho original do arquivo de filtro.
Então, confirmado, o jeito certo é usar o valor do modificador de argumentos filter
sem aspas simples.