Mempool.space uses a huge maxmempool value, whereas mine is running 31.1 with the default 2-week eviction.
So what you see on BitMixList's mempool is actually the "true" mempool volume over two weeks.
My Core 31.1 node has explicitly the setting
mempoolexpiry=336 which translates to eviction after 14 days, same as your node. So, I don't think transaction eviction plays a significant role in the difference of your and my mempool.
I have
maxmempool=512 and
persistmempool=1 in my
bitcoin.conf, not sure if this could play a role. This way it repopulates my mempool pretty fast if my Linux box needs just a reboot because of some updates that mandate one. I prefer it that way.
Another of my Core nodes has a larger mempool,
maxmempool=1024, but at current "waterlevel" this doesn't make a difference. Both have nearly the same tx count in their mempools and are also connected to each other.
Anyway, I don't know an obvious reason or setting that stands out to explain the difference. There are a few other settings where I can think of some influence, but I'm not sure if it's really important.
If it is for you, let me know and I can disclose most of my settings in my
bitcoin.conf file.