Just migrated a test account from one instance to another. This migration was initiated from the new instance, and the corresponding Move() activity was signed with MetaMask wallet. No permission from the old server required.
Although this migration only moves the identity (during the migration followers should un-follow the old actor and follow the new one), data migrations can be implemented in a similar way.