Problema resolvido.
Parece que o script precisa do caminho absoluto para fswatch
(por qualquer motivo) quando executado por meio de um plist. Nesse caso, /usr/local/bin/fswatch
Correndo do Terminal fswatch
vai fazer bem, mas não neste caso.