Is this even a "video game" phenomenon? Consider things like Magic: The Gathering. Is anyone in that community spending an excessive amount of money on cards in an attempt to find the most powerful ones? Is it a problem?

Anyway, here's my understanding of the problem and the proposed fix. The F2P + Whales model is popular because games typically need players (for people to play against), and it's hard to get people to spend $60 on your game outright. People have been burned far too many times; F2P is nice because if you don't like the game, you're only out the hours that you played. That's good for the industry because instead of a fixed $60 that was sunk on a game that the player doesn't play, they can go play your game instead. The problem comes from the monetization; it depends on whales, and the whales are probably spending money on the game because of a mental illness. As a society, we want to protect people from themselves where possible. If they spend all their money on Genshin Impact, then our taxes have to pay for their food and housing. A solution would allow video game companies to continue to develop games and be compensated for them, but remove the negative effects on society that comes from unbounded purchases.

My proposed fix is for games to set an upper bound on the expected value per player. This would have be set by regulations (don't forget to adjust for inflation!), but can be above the cost of a standard video game. I'd say something like $1000/game/year. Then, it's up to the video game to track what each player spends per year. When they reach the regulatory maximum, all future unlocks are free for the rest of the year. How many users hit the limits will have to be reported to regulators on a yearly basis, as well as the average spend per user. (That way, the limits can be intelligently adjusted as the industry landscape changes.) This lets the small time players continue to ponder whether or not they want to buy something in-game, but people with a major problem will have their losses limited. Spending $1000 on a computer game is not the greatest, but an upper bound is better than no upper bound.

I also think the numbers are pretty reasonable. Take Overwatch as an example. You used to have to buy loot boxes to get cosmetics (or play a lot; I never needed to buy anything with real money). They switched to a shop + battle pass model. A battle pass is $10 for ~2.5 months, which is like $50/year. And they have weekly cosmetics you can buy for $20. That would be $1040 per year to buy all the cosmetics, if I'm right about getting new stuff every week. So, the maximum amount of money they can get from a single player (on a single account, which they theoretically enforce with SMS) is around $1100/year. (Since coins can be bought in bulk for less than $1/coin, I'm guessing that the $100 that my regulation forces you to lose out on isn't a problem at all.) This doesn't seem to be causing people too much trouble, and is obviously a viable business model because they did it on their own without being required to by regulators. (Incidentally, one of the most common player complaints on Reddit is the removal of loot boxes. But I think people are mad about having to buy everything outright instead of getting a % chance just from playing the game.
I doubt anyone liked buying 100 loot boxes for $100 when a new skin came out, and they still might not get it.)

TL;DR: I think this would be fair to both players and video game companies. Video game companies would have the opportunity to make 17x more per player than a traditional pay-before-you-play model, but no one person could be financially ruined by their desire to have every possible item in the game.