Howdy.
So, here are my thoughts and findings.
The discrepancy starts in Google Search itself. So it's either algorithmical/calculational bug or there are other metrics used. And i'm inclined to believe the second version.
Here is my idea - they use sessions or clicks as a metric together with avg position. As far as I know they use this system in other metrics as well. So, here is data for our website, which checks out with all the reports:
I got a page https://www.regexseo.com/luxury-websites-houston.php and the avg position reported is 22. If i look at the breakdown, it's got 96% of traffic going to desktop and 22 avg position, 2% to mobile with 15 avg position and 0.05% tablet with 14 avg position.
So, the report checks out, if you think about it like this:
If to 96% of users your page is ranking #22, and to 2% of users it ranks in #15, wouldn't it make sense to say that on average your page is ranked #22.
I guess it's more like a weighed avg position then pure avg position.
Hope it makes sense