Larian's implementation of mirror image makes it very underpowered.
In tabletop, mirror image works like this: You create 3 duplicates. When something attacks you, it has a chance, depending on how many duplicates you have left, of attacking one of your duplicates instead of you. Duplicates had their own AC equal to 10 + your dex modifier, and were not destroyed unless they were hit (meaning a monster could attack you and not necessarily destroy a duplicate.)
This is significantly more powerful than the BG3 implementation, imo. There was some randomness to it - even if you had ALL your duplicates up, there was a chance YOU would be targeted, and you could get unlucky. But usually, the spell as written guaranteed that (unless you got unlucky and got knocked out first) 3 attacks directed your way would be wasted. Not bad for a 2nd level spell slot that required no concentration (particularly as you got to higher levels and mostly used lower-level slots for defense and utility.)
I have no idea why Larian changed it, because as you pointed out it's pretty bad - +9 AC is big, sure, but it ticks down quick. It also has the funny property that it actually *punishes* you for having high AC already (higher AC = enemy more likely to miss = you lose your illusions quicker.) It's like Larian wanted to make the simplifying assumption that every time you were missed while having mirror image up it was due to your mirror images, but that is not at all how the spell should work: under the original spell, YOU could have been targeted and the monster missed you (no images disappear) or one of your images could have been targeted and missed (no images disappear). Maybe it was too hard to give the images their own AC in the game engine as it is?