It's just that the seesaw swings in the direction of P1 more often. If both players are going for a megaturn and they shuffle identically, P1 has a clear advantage.
This is also true with splits. P1 can open X/Fool's Gold (where X is say Great Hall to not overcomplicate things) and still get 5 of them while if P2 does that he can only get 4.
Dominion is often about dominance, unsurprisingly. It's much easier for P1 to dominate P2 than the other way around because it's easier to win splits. If we take an exponential approach where on the first turn you can get 1X, 2 on the 2nd turn etc, it will go like this: P1 gets 1, P2 gets 1, P1 gets 2, P2 gets 2, P1 gets 4, pile is empty. Result: P1 had 7, P2 has 3.
This may be oversimplifying a bit, but you get the idea. The piles are not deep enough for P2 to catch up if the gaining is non-linear (1 per turn max).
It would be fun to see games with the following rule: if a pile is emptied on P1's turn, P2 may still buy cards from that pile, but just uses some placeholders for that card.
For example you can use Gardens (if they're not in the kingdom themselves) as placeholders for Provinces etc. Of course in an online setting you don't need physical placeholders and can just create copies out of thin air.
Alternatively, you can do a blind bid for first player. Both players just "write down" a number of VPs they think going first is worth. Whoever writes down the highest number goes first, obviously. But the second player gets the amount of VPs offered by the winner. You could also give P2 the average of both bids (rounded up or down) so both players can't undervalue P1's worth. You wouldn't want to offer just 1 VP, have the other offer 9 VP and only get 5 VP as compensation instead of 9. Players do this after seeing the board.
I don't know how this works in multiplayer, but I'm just focusing on 2P here, because that's easiest and most "pro" games where it matters are 2P anyway.