Submit your stats at 11pm UTC on January 31st. Do 101 trades (1 special trade + 100 daily trades) before midnight.
Continue doing 101 trades every single day up to February 28th (let's assume that this is not a leap year). Travel eastward (the further the better), and complete 101 trades on March 1st in your new timezone, while it's still February 28th UTC.
Now, submit your stats again - the earlier in the day the better, as long as you got your March 1st trades in. You will have submitted 3030 trades that month, and the time between your two submissions will be 28 days or fewer. This is at least 108.2 trades per day, up to around 111 trades per day depending on how far east you travelled.
Even without using any timezone manipulation, you can get 2929 trades in 28.05 days for 104.4/day by just submitting late on one night, and very early on the final day of submission. If you submit several days early, you could get e.g., 2626 trades in 25.05 days to slightly push that upwards to 104.8.
These methods are obviously not repeatable month-to-month, but it does allow for seemingly impossible single-month figures like the ones you've observed.
In May 2020 I (unintentionally) averaged 103.827 trades per day using this method. I did not exceed 101 trades on any calendar day, but thanks to the exact time of my submissions the average looks like I did.
As Wondercricket mentions in their comment, there's also some special events that allow for multiple special trades per day. These are rare, but in addition to the examples given above can allow for daily trade numbers to exceed 110 over the course of a month. There is also the possibility of incorrect data that somehow made it through the auditing process, but this is quite rare.
How is that possible in the game, or is it an artifact of how the data is collected?
It's occasionally possible during special events, but it's usually a result of data collection not always occurring at the exact same time of day.