I had the same issue with a 1080oc, which is about on par with your 2070, my CPU was older than yours so I was wanting to update anyway.
Anyways, I went with an i7 12700kf and overclocked it to 5.2ghz which solved all my issues, even using a 1080oc, low @ 1080. Now pushing 120fps almost all of the time but the games weather system pulls it down, as expected. Wish i could afford a decent video card, it would make this new system really sing, but on the other hand, even if I could, I don't want to support this price gouging.
Even going from 5ghz to 5.2ghz the performance noticeably changes. So i feel its 100% cpu related I'm sorry to say.
128player is very heavy on the cpu which is why we see alot of people complain about 3070s or even 3080ti's running with low frames, spending au$2000-3000 on a new video card just to combine it with an old cpu, bottleneck anyone? Thus I don't believe the game is as poorly optimised as people suggest. I've seen the game run very very well with new CPUs and GPUs.
In the games console type ' perfoverlay.drawfps true ' and you will probably notice the cpu is sitting in the red or at least bouncing to red a lot. If I'm wrong then ignore my reply but I suspect I won't be.. this is your cpu holding the game back.
You mentioned you have corsair ram? If it supports an XMP profile then maybe double check if that profile is enabled in bios, if it isn't then select profile 1. This may open up your cpu a little more.
I've also seen a few posts here of people making bf2042 cfg files to adjust the way cpu cores and threads work with bf2042, they claim success so I'll try to dig them up. Posted recently in the technical issue forum relating to a cpu usage thread I think?