If you have the Canvas and Output sizes in Settings -> Video set to the same resolution, and the source isn't scaled in the canvas, then OBS does not perform any scaling internally. If you record to a file, and play the end result in a video player without scaling, do the artefacts still occur? On top of that, make sure that on Twitch you're using Source quality, as all transcoded options have scaling.