Even if `--update-refs` didn't exist, my experience is that git can identify duplicate commits produced by rebase, and knows to skip them when rebasing the same commits to the same place again. Am I imagining that?
It definitely fast-forwards unchanged commits.
That works until you had to fix conflicts during the rebase and the commits are no longer identical.