LoadMempool happens in the import thread which has fImporting set to true. This will cause the node to think its in IBD until the mempool is fully loaded. This isn't necessary and can interfere with initial syncing. It also breaks at least the pruning.py test.
I can't think of any reason to want IBD to be set while loading the mempool except for the possible effect on fee estimation. If you had a mempool dump which was in the future from your chainstate then this might lead to a detrimental effect on fee estimation, but this seems unlikely and should be fixed in another way..