I would use this sparingly, because, like any of the git history rewriting stuff, you can pretty easily get into a really painful situation if you're not really careful about it.
Also, while I've done all of these things individually, I haven't done them all together on a repo that I'm using with git-tfs, so hopefully this doesn't screw up your repo.
The goal of the rebase is to take the commit that fixes up your repo, and make it an ancestor of tfs/default so that git-tfs doesn't notice it. git-tfs wants tfs/default to have the git-tfs-id in it, but it doesn't look past it.
To do the rebase, you'll want to start with a branch that is tfs/default plus the commit that fixes it up. Then `git rebase -i HEAD~~` (interactive rebase, starting two commits ago), swap the two "pick" lines, save+exit. Now, `git update-ref refs/remotes/tfs/default HEAD` to make the rebase result the new TFS head.
As an alternative, you could add the 'git-tfs-id:' line from your tfs/default to the fixup commit, and `git update-ref` that into 'refs/remotes/tfs/default'.