I am having exact same issue. 4o-mini, vision, playground.
But in my case the difference huge. Playground shows approx 800 tokens where as actual consumption is 25k tokens.
Were you able to research it further? Also, the tokens are correct if I go through documentation as billing doc shows my image (920x1200) will take 25k tokens. But it should be shown on plaground as well.