This is mostly for consistency with how the mempool is accessed in other parts of the codebase. For now we don't expect the active chainstate to not have a mempool.
This is a backport of core#30388
with a bugfix from https://github.com/bitcoin/bitcoin/pull/33728/changes/2bc32656498517fe58bd41dcbd0afd306d51d4b0