Usually this happens for one of a couple of reasons. The first is that there are not enough players currently queueing to make a better match. That is, it would prefer to have all 12 players be within some fairly narrow range of skill, but if it doesn’t have those players it will look in a wider skill range. The second is someone in that match is grouping with someone of a different skill level. In that case, the matchmaker is essentially prevented form finding 12 players of the same skill level, because 2 or more players have chosen to create a match between players of different skill levels.
And, again, you should expect that outlier games exist. That’s normal. Unless the OW algorithm were doing something very weird in order to enforce particular results, players of lower skill level would sometimes win in matches against higher skilled players. That sort of thing happens. It just wouldn’t be the norm. If it were the norm for any given player, that player would rank up. But if it is not the norm for a given player, they will not rank up, they will simply sometimes have these outlier games where they win against better opponents. And in those cases, they will get rewarded with higher than normal SR gains.
That’s just a well designed system functioning as intended.
This is something you can easily verify for yourself. Watch some vods of games at a variety of ranks. Do Bronze players play as Plat or Diamond or Masters or GM or top 500 players do? When I watch a GM match, am I confused about what rank those players are? When I watch a Silver match, do I think to myself, this could be Diamond. Or this could be GM.
Why not, because the rankings do measure skill. If they were not measuring skill, what I would see instead would not be an increase in skill evinced by the players as they rank up the ladder. Instead, I would see GM play at all ranks and I would see Bronze play at all ranks. There would be some indistinguishable mish-mash of skill up and down the ladder. And, for all that there is different skill among players within any given rank, it is not true that people playing in Plat look like Bronze players or people playing in Diamond look like GM players.
You should not expect to keep some particular SR, no. That is, I am not a 2850 player, even if that is my current SR. I am a high-ish plat player, say. I should expect to hover somewhere around +/- 200 SR from some rank that indicates my current skill. If I rank down to 2650 or rank up to 3050 for a bit, that makes sense. And I’m probably roughly at the same skill when that happens. If I start to rank outside that range for a longer period of time, I am probably playing worse than I was when compared to the current player base. Or if I rank up to 3200 and achieve a new equilibrium in that range, I am now playing better (as compared to the current player base) than I was before.
They aren’t randomly selected teams though. I’ve never seen a <500 player in a match. Why is that? Has the random matchmaker simply never placed me in such a match in any of the matches I’ve played in over 2100 hours of playing this game? If <500 players are being matched against other <500 players, that is not random matchmaking.