Sua ideia está certa.
Aqui está um teste:
/foo$ stat -c '%i-%n' *
658846-egg
656129-spam
656129-test
/bar$ rsync -av /foo/ .
sending incremental file list
./
egg
spam
test
sent 229 bytes received 76 bytes 610.00 bytes/sec
total size is 0 speedup is 0.00
/bar$ stat -c '%i-%n' *
657110-egg
663431-spam
663560-test
/bar$ rsync -Hav --delete-delay /foo/ .
sending incremental file list
test => spam
sent 107 bytes received 19 bytes 252.00 bytes/sec
total size is 0 speedup is 0.00
/bar$ stat -c '%i-%n' *
657110-egg
663431-spam
663431-test
Em uma nota diferente, é melhor usar --delete-after
em vez de outras opções semelhantes, ou seja, --delete-before
, --delete-delay
, --delete-during
porque essas opções decidem quais arquivos serão excluídos antes ou durante a transferência.