Thanks for the great write-up and for everyone involved for moving this forward!
Ouch!
Is there a way to mark the (large) subset of older/closed/inactive issues (i.e. very unlikely to be modified) as read-only and migrate those first? Then proceed with the remainder per the plan you described above. Assuming the remaining issues would be much fewer than the inactive ones, I’d expect the disruptive part of the migration would be much (proportionally?) shorter.