The TTL monitor syncs the collection-level userFlags when it runs. This is what triggers TTL collections to use the usePowerOf2Sizes feature to prevent fragmentation. Currently, if you create a TTL index on the primary, the index gets propagated to the secondary, but the userFlags don't get set on the secondary, because the TTL monitor returns immediately. This can cause large fragmentation on the secondaries.
To fix this, the TTL monitor should sync the userFlags on the secondary (it just shouldn't do any deletes).