Out of the 3 games, I probably played Overwatch the most, followed closely by Hearthstone, but the amount of money I invested in Hearthstone is easily 3-4x the initial price I paid for OW. I got fed up of the "pay or fall behind" nature of Hearthstone and stopped playing a long time ago though.
Hearthstone should be compared with other computer games, not with MTG & co.
I always thought a much more modern scenario would've been if they put like a code or something on physical packs so you could buy them once and have the same cards in both digital and physical form.
You can be perfectly competitive without playing arena or buying packs. I haven't paid a cent for the past 2 years and can play all the competitive decks I want in every meta. Blizzard has been very good with bumping up the rewards you get from playing normally.
But I agree that, right now, they are not the worst offender, at least with Overwatch (I haven't played Hearstone and I haven't played enough of HotS to reach the lootboxes).
" In March 2013, former Diablo III game director Jay Wilson stated that he felt the existence of the auction houses "really hurt" the game. "