Becoming a Maker, I would always provide strong liquidity, forever, which is built up from a wide variety of UTXOs which continually refreshes naturally based on regular mixing, let alone JoinMarket participation.
I mean liquidity from the taker side. I'm quite sure you would be cutting the branch you're sitting on. You would have takers subsidize your TX fees - which is about the only real advantage I can think of in this scheme, and it's an advantage mostly for the mixer, not its customers - while at the same time telling them to come use your service because it's better (faster, less technically-involved, no minimum, etc) than JM/Wasabi/whathaveyou.
As far as anonynimity is concerned, I am unsure of what the issue would be? I would need to keep track of which UTXOs had been presented in combination with others, which is not a huge task, I think the JoinMarket software already does this, however I would be writing the Maker implementation code from scratch (I don't code with Python) and later a Taker implementation for on-demand ad-hoc Cold purposes (i.e. Initiating a JM CoinJoin direct from Cold Storage to Cold Storage). I wouldn't have 4 "mixing depths", I would do my own entirely separate thing picking UTXOs and Output Addresses accordingly based on my own requirements.
Ok, I take your word for it here on tracking the UTXOs but the second part kinda contradicts your OP where you said the mixer would be a maker. Are you going to run takers too, or just produce a client and expect others to run it? And it seems that this:
All CoinJoins are easily identified, to the point where it's even known exactly which implementation has been used
May apply to your custom implementation as well, defeating another potential advantage of it.
If I ensured that all deposits must first be CoinJoined prior to going out again, that's never going to happen. Just saying. That even includes a 1 BTC merchant flying through the doors, because by the time their 1 BTC Deposit has confirmed, a Taker (Cold) CoinJoin has already been performed, with 9 other participants and is ready to go again in the same block.
You said it yourself - CoinJoin doesn't break the TX graph. So I don't think you can also claim that I'll never get my previously deposited coins and it's incorrect to say this:
The user would get the best of both worlds so to speak, they would jump the transaction graph