The mempool is not a central or shared pool, every node has its own separate mempool (though a node does not have to keep a mempool, it will still function fine without one).
Solo miners do not now share mempools and never have. A solo miner can mine without any specific communication or coordination with other miners. Obviously nowadays a solo miner needs an enormous amount of hashpower to have any prospect of profit.
There is nothing in the original and current core network protocols for Bitcoin that explicitly coordinates, synchronises or shares mempools. It is likely, particularly when the network is less busy that all nodes have mostly the same set of transactions in their mempool. This is simply because the time for data to diffuse across the network is typically much less than the block interval.
Nowadays, because of the huge increase in mining and the consequent huge increase in mining target difficulty (to keep block interval roughly constant) - Mining has become very expensive and so most miners pool resources rather than mine separately.
Miners who are members of mining pools exchange information using one of several completely separate network protocols (e.g. Stratum) that are different and separate from the core network protocols of Bitcoin. I don't know these mining pool protocols or whether block templates are centrally chosen or selected in some egalitarian distributed method but, in principle, I don't see it is essential for them to share or synchronise mempools either.