Yeah your stats naturally lack big data. With a set of 50 one miss has quite the effect on the overall percentage. Still, since you've done it thrice now all within the realm of statistical variance we can extrapolate that the percentages in this game generally work how they are displayed in this game.
You also demonstrated how even with high odds bad streaks can happen without a large effect on the overall statistics. It is anyone's guess if you would notice a 5% difference in hitting with 50 95% strikes.

So what we can conclude thanks to your stats is that the perceived rigging of the dice is a combination of lumping different chances together (a fight will generate a lot of varied hit chances), small datasets (even long fights will likely only have 20-40 rolls), confirmation bias and human psychology (negative outcomes stick in the mind more) and misunderstanding/misinterpreting of statistics and their relevance in an environment like this, while also not personally gathering data to confirm suspicions. Additionally there are other things at play that can amplify the perception, yet have nothing to do with combat rolls, like saving throws, dialogue options and passive ability checks, that are less transparent in their display.

So, I think it is sufficiently proven by you in this thread that in general the combat chances are correct. It would be cool to highlight these posts or sticky them up top, so that players can easily be directed to them or the posts can be referred to in the future. Kudos to you for doing all that work.