Remember one thing that there is always a time for unexpected things to happen and it is really proven on the field such as teams that statistically make unnecessary mistakes or like when they lose several players due to red cards which makes the game unbalanced.
That's why I will agree with your opinion that in any type of gambling there is still no way that can guarantee 100% victory, meaning that victory is still a chance and defeat becomes a part that cannot always be separated from it. Overall, yes, most likely the public will make the superior team the choice, but that doesn't mean it is the right choice to achieve victory.
A defeat is possible even without visible force majeure like a red card, remember the recent losses of Real and City in the Champions League, I would never have thought that they were capable of such a loss, I suppose that most of the players who placed bets that evening thought so. So yes, surprises happen quite often, you can try to guess where it can happen, but I do not like this approach, and in my understanding, playing against the crowd is exactly looking for some such sensational games.