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.