The donor should already block TTL deletions once it enters the blocking phase. But the recipient could do TTL deletions independent of the donor. This could be an issue in the following sequence.
- donor receives update to _id:1 to so no longer matches ttl
- recipient ttl deletes _id:1 independently due to ttl
- recipient receives op='u' and ignores it
So we should block TTL deletions on recipient for collections being migrated until the migration is done (marked as garbage collectable).