Fees & Taxes
One common way to deal with this in real economies is to add a periodic fee that redistributes hoarded wealth back into the community. A few forms this can take:
Wear on gear items that requires they be repaired periodically, so even a player who’s hit a steady state and buys no new items still needs to pay NPCs (or other players) for repairs / repair materials
Luxury/property taxes or ownership fees for items like real estate, stabling & food for mounts, etc.
Banking fees or wealth taxes charged when carrying a large balance.
(These last two can continue to ding a miser’s in-game gold account at a slow trickle even while they’re offline, so a player who abandons the character can’t keep the wealth tied up indefinitely)
Allow players some means to steal from each other. Cap the amount that can be stolen to a fixed percentage of current wealth in any given timeframe, so a player cannot be completely ruined by a group of players ganging up on them.
A percentage based cap makes it more profitable to go after misers since they have more loose money to steal. Now your player characters have a financial incentive to help you with your miser problem by sniffing out who has excess cash (make sure they have some gameplay means to do this) and targeting them.
If you can steal from a player’s sleeping character / camp / land even while they’re offline, then again this gives money a route out of dormant character accounts.
You can also offer players means to defend against stealing, giving rich player characters something valuable to spend their money on: security. This could include paying NPCs / other players as guards or to install & maintain security devices, or storing their money in a bank, which charges fees (see above).
Make it impractical to store that much wealth at once.
Make a limited size purse for spending money held at any one time (giving players cause to invest in buying/crafting/maintaining upgraded capacity)
Add a weight to each gold piece so you sacrifice mobility or carrying capacity to hoard lots on you at a time.
Have stacks of coins in your inventory take up inventory slots. The more coin you carry, the less room you have for gear.
This can create additional gameplay around acquiring & trading higher-density stores of value, like gemstones or valuable items, so player characters can “compress” their wealth (and in doing so, release coinage back into the market)
It can also create demand for long-term storage in a bank or investments like real estate. (Where the above rules can erode it)
You could also consider allowing your currency supply to expand gradually over time, which can introduce a little inflation. Inflation at a controlled rate can be a good thing: it means it’s more valuable to spend money now than to hold onto it and spend it later, disincentivising hoarding (especially in the absence of interest) and ensuring that there’s always at least some more coin entering the system.
If you keep the currency supply absolutely fixed, then the inverse can happen: your currency area (the set of things you can buy with gold) grows as players join and quest for/craft desirable items and updates release new goodies. If the currency supply available to spend on all these valuables stays fixed, then the currency deflates, gaining value per gold piece over time, making it more sensible to save this valuable & appreciating commodity than to spend it, worsening your miser problem.
For some more ideas of how to make money tougher to hoard or have other interesting game mechanical characteristics, check out Vili Lehdonvirta’s GDC talk on currency design.
There is a critical flaw in your system. You assume players will play forever. In the real world, this is the case. “Players” keep “playing” the game until they die, and then their remaining wealth gets redistributed to their heirs.
Not so in an MMO.
Players play until they get bored. Then they find a new game and forget about yours. Then their wealth stays on their unplayed character, which effectively removes it from the system. This is the natural lifecycle of an MMO character. Nobody needs to intentionally play “Scrooge McDuck” for this to happen.
This constant drain of rich players quitting the game is why MMOs usually do not use closed money systems.
But there is a solution: negative interest. In regular intervals, remove a small percentage from all ingame accounts and move them to the bank. This gradually diminishes any dead wealth in the game. It also motivates people to spend their wealth, which will lead to a more active ingame economy.
It might seem like players could escape this system by investing their cash into items and hoard these instead. This, however, is an illusion. While cash is constant, items are constantly being created in your game. More items in the game means the items which exist constantly lose value. So no matter if you hoard items or cash, the value of your hoard will decrease over the long term.
You’re going to need some kind of forced, “hard” sink to return the money to circulation. Without it, as painful as it might be to implement one, you will only be postponing the inevitable.
Character death can act as a hard sink, returning a portion of the character’s wealth to the pool available to NPCs. Gameplay incentives revolving around upkeep can push players towards spending their money.
For example, perhaps characters need to pay a monthly (real time) fee to their house guards while the player is logged out to maintain their security. Otherwise there is a chance the character will be “killed by an assassin” or whatever while offline.
Obviously, as you note, this can be frustrating so the death should not be permanent and you should probably have a pressure relief valve for characters that end up completely penniless so they can bootstrap themselves back when they return to play after a year. It’s better than deleting the character wholesale, though.
You may also want to consider modelling the economy around, rather than an absolute fixed amount, a relative amount (based on the number of players). If you have 9000 gold and your game is a hit and you have 9001 players…