Its a troubleshooting step, not a proposal for a permanent change. If there's still .5% drops at 20Mb/s then I know we're barking down the wrong tree. If not, then it will be interesting to see if the video quality is improved.
CBR is never perfectly constant. Not Quicksync, not x264, not NVEnc. My theory is your problems are the result of the bits backing up in the output queue because your ISP is barely able to handle it. Whether its because of spikes in the bitrate or not, I don't know.
Another problem is that when doing NVEnc, you're not allowed, in OBS Studio, to change the buffer size. As I recall though, it
is possible in OBS Classic. Smaller buffer means closer adherence to the nominal bitrate. Larger buffer means the bitrate can change more to accommodate changing video complexity. The default is to have the buffer size equal to the bitrate. A few years ago, i only had 5000kb/s upload and I saw bad pings occasionally when I streamed at 3000kb/s with a 3000kb buffer. So I changed the buffer to 2000kb and the problems went away. The bitrate was always set to 3000kb/s, but changing the buffer size made the difference. I suspect this is the problem you're running in to, you need to change the buffer size in NVEnc to be smaller but OBS Studio doesn't let you except with x264.
I previously noted the NVENC / OBS Studio limitation here:
https://obsproject.com/forum/threads/i-need-a-way-to-limit-my-bitrate-to-4000kbs.74636/#post-317425 In that thread,
@R1CH said to use low latency mode. You might try that too. I thought I made a feature request post to re-enable custom buffer size for NVEnc in OBS Studio, but if I did I can't find it. And the other options would be to try x264 instead, or OBS Classic. But first, you should try my 20mb/s test.