This was originally feedback given to me on D6539. Since then I've decided to pass CTxMemPool to the addForBlock method too. This avoids having to declare an extern CTxMemPool g_mempool symbol on txmempool.h, and is nicer in general.
Alternatively, I've considered adding a CTxMemPool& m_pool to DisconnectedBlockTransactions plus an explicit constructor on the assumption that such objects can only ever have one mempool they work with, but went with this instead for simplicity.
The above changes are unrelated to PR14193 however, so I'm putting them on a separate diff not to overcomplicate review of the latter.