Usage isn't a measurement of how much of the cpu/gpu is being used, it's a measurement of how much resources the cpu has to use.
Just because the cpu is at 100% and gpu is at 40% doesn't automatically mean it's a bottleneck, which is a bogus thing anyways.
Cpu takes the game code and pre-renders a frame, placing everything, quantifying everything etc. It'll do this to the best of its ability according to clock speeds and IPC . Every frame completed in 1second is the fps limit. That gets sent to the gpu to add color and post processing affects and paint the picture on screen. It'll do that to its ability according to detail levels and resolution. The amount of times a frame is completed in 1 second is the fps you see on the counter.
Cpu cannot slow down or bottleneck a gpu or vice versa, both are independent and both work at 100%.
Usage is the amount of cores, threads, bandwidth, cache etc that the cpu is required to use to complete a frame, increasing usage doesn't mean you get more frames or can complete a frame faster, only means the cpu needs to use more to complete a frame.
If the cpu can complete 150fps, sends that to the gpu which at low can put 150fps on screen, raising the settings to ultra having little to no affect, the cpu isn't strong enough to do better. If changing to ultra and the fps tanks, the issue is with the gpu, it's not strong enough to maintain or finish rendering what the cpu can give it. Lowering settings will raise the fps onscreen, but cannot go higher than 150fps, since that's the cpu cap.
That said, the 6400 was a dog. Biggest mistake for an i5 since Broadwell. It was beaten generally by the i3-6100 in just about everything that wasn't @ 80% loads or better, like rendering or CC usage. Clock speeds were abysmal, even with boost.
If you can find an i7-6700 to i7-7700k cheap, it's the easiest upgrade by far. The most expensive route being a full platform swap, which will pretty much require cpu/mobo/ram as the 2133MHz you have now is next to useless for Ryzen performance and lackluster to the 2667 that 8th/9th gen use, unless you really want to fork over $600ish for a Z490 mobo and a 10th Gen cpu and it's ram.
Apart from is severely lackluster performance for an i5, what's killing your fps is the fact it's an i5. You are playing games optimized or demanding 5+ threads, as high as possibly 10-12 threads in some online high drop servers, and trying to skate through with 4 threads. An i7 will help, a lot, in those games, but at heart isn't any different IPC than the i5 you have now, so some single player games will see very little gains, most of that coming from boost speeds.