Random number generation can be streaky sometimes.It is always the same probability for every single roll. Example: You roll 4, 4, 4. Now our feeling tells us it will be very unlikely that there will be another 4. In fact it tells us that it should be time to roll over 10 by now! But your next roll does not care about about history. Every possible streak with the same length is just as likely as any other. This may feel unfair sometimes, but it is in fact nothing more than our perception.
If you really want to show that there is something wrong, make a video with a save file and load it 100 times or so and count hits against the chance of hitting.

In addition to people talking about 100% chances: there are none in DnD. Yes, BG3 sometimes says 100%, but this is acutally 99,6% (0,4% is the likelihood of 2d20 where you roll a 1 both times).