XP based matchmaking, not just pay to win. The inherit problems.
So let's say I win first place grandmaster twice every week and I've done this completely f2p. Not realistic but I'm rolling with it because this is worst case scenario. I mean being f2p and winning grandmaster tournament twice every week would be awesome for me, but there still is a big problem. For the people who are same xp as me they are going to be way behind me now. Not normally a problem in games, but with xp based matchmaking, they stay in the same matchmaking pool as me as long as we play the game. Initially my skills put my ahead of them, but now I'm so far ahead of them that improving their skills won't save them. My progress will always be faster than theirs because they have to contend against me as consequence of the matchmaking.
I can also do my battles without collecting xp for months and upgrading a bot to max during that time and all the time I will stay in the same XP bracket with newbie players and prey on them and when I finally max that I will basically ruin any match I get put in as if I was a pay to win.
The pay to win bias of matchmaking is really a consequence of people being able to spend for progress meshing with the already flawed system. If you made it XP based to prevent "sealclubbing", decouple it from XP to prevent the situations I've just described above if not to end the pay to win bias.