I think Call of Duty is like some sort of sport or something, if you drop NFL Football you may not necessarily pick up CFL Football instead. Even if it's similar in many ways (it's better in fact).
For things to change a better challenger has to come by and CoD needs to mess the expectations of their die hard fans... This almost happened with Battlefield 3\4, then Battlefield dropped the ball and CoD came back on top with a few good releases.
Battlefield 2042 is a good example here. I haven’t played 2042 but it’s doing better than f2p Halo Infinite on Steam peaking at 15k concurrent and that’s pretty much Halo’s assumed avg concurrent across all platforms. So it’s still worth looking at for now.
2042 is strictly a multiplayer game struggling to find an audience while needing purchase to play. Since it’s multiplayer only consumers already have the wrong attitude assuming it should be f2p. Why bother when Warzone and apex are free and have a playerbase. You lose right there. Retail price tag and sub paywall? Easy choice to not spend a dime and stay where the players are.
Whether a game has longevity is a huge part of player investment too. Players are not going to waste time in even an objectively good multiplayer game if there’s no sustained playerbase or content coming. We are not going to play games that are likely to die after a month. It just doesn’t work that way. Having a larger player pool is a huge factor in this.