I believe this only works when there are no other uncommitted changes.
So you would need to stash after the fixup commit and pop the stash after rebase. Or use autostash.
So you would need to stash after the fixup commit and pop the stash after rebase. Or use autostash.
As for effect on the workflow, you can just continue to work and commit and then call autosquash in two weeks, when your about to merge. This also has the benefit, that Git (by default) only alters commits nobody has used yet.