This is a regression caused by 3b7cb3d17137. We have documented the behavior
in rebase help:
Rebase will destroy original commits unless you use "--keep". It will also move your bookmarks (even if you do).
So let's restore the old behavior.
It is done by changing scmutil.cleanupnodes to accept more information so
a node could have different "movement destination" from "successors". It
also helps simplifying the callsite as a side effect - the special bookmark
movement logic in rebase is removed.
Can combine to one condition now