On an older version of OBS Studio (4 years ago), my solution was to changed from the default transform (Bi-cubic?) to one of the others that is slightly more CPU intensive, but better quality for text (sorry not at locaiton with my OBS PC so can't look it up
I could easily be remembering wrong, I think I went with
- “Bicubic (Sharpening scaling)” for the “Downscale Filter”
also, not sure if still true, mentioning just in case
rescaling in the encoder in settings->output->streaming->rescale output. Disable this. This runs in CPU space and is a bottleneck. Instead just set your output resolution in settings->video->output resolution. This rescaling takes place on the GPU and uses next to none resources, since the GPU is specialized on that kind of operation.