This sounds similar to a problem I have just encountered.
If I have filesystems mounted at: /mnt/foo /mnt/foo/subfs then do mount --bind /mnt/foo /mnt/barthen the contents of `/mnt/foo` and `/mnt/bar` are different, because `/mnt/foo/subfs` has contents but `/mnt/bar/subfs` does not have contents. However
diff -r /mnt/foo /mnt/barreturns no results. However in my case, rsync is also unable to show the differences.