The issue you’re seeing is due to bilinear sampling of the original render texture, in part likely caused by the initial screen resolution not being a multiple of 8, though correcting for just that will just mean all of the samples will be “blurry” add they’ll be bilinearly sampled from the exact center of 4 pixels.
Using that code exactly as is with either deferred or forward with MSAA disabled works perfectly for me. I’m using Unity 5.6.1 to test, and I disabled MSAA directly on the camera (Allow MSAA).
All driver settings were application controlled. I tried to set them off but AA still appears.
The only way I was able to get sharp pixels on edges was rendering to already created low res texture using camera. And then drawing it using OnGUI method. I dont like this solution because of some problems with different resolutions and unity shows annoying popup if there is no camera that rendering to display.
I tried shader solutions but they also produce AA.