I understand that when I use git pull --rebase, git will re-write history and move my local commits to occur after all of the commits in the branch I just pulle
Remember that Git is a distributed source control system. People don't have to pull from the central repository that you're pushing to - in certain workflows they can pull their changes directly from you. In those cases, rewriting your history can certainly cause the problems you're talking about