The rule states the total number of transactions evicted from the mempool must not exceed 100 transactions. That does not mean all 100 have to be a single parent to child chain, such as A -> B -> C -> D -> etc. I could create a parent transaction with 2 outputs, create two new unconfirmed transactions - one from each of those outputs - with a further 2 outputs each, create four new unconfirmed transactions from each of those outputs, and so on. I could even just create a single parent transaction with 100 outputs, and then spend each of those outputs. The ancestor count will be well under 25 for all the children, while an RBF on the parent would still have to evict >100 transactions.