I'm able to reproduce your problem now.
If found that the pstops_out.ps you provided was generated with copies set to 0, inside your file is %RBINumCopies: 0. When viewing in gv, indeed this results in 4x magnified output.
Then I have setup a printer queue that prints to file to find out the generated postscript that would normally be sent to your postscript printer. This file doesn't have %RBINumCopies: 0 but when viewing this also results in 4x magnified output.
Your original test.ps seems to be DSC conformant when tested with cupstestdsc.
To me this looks like a bug in CUPS pstops filter, you should file a bug report in the upstream CUPS bug tracker.
I'm able to reproduce your problem now.
If found that the pstops_out.ps you provided was generated with copies set to 0, inside your file is %RBINumCopies: 0. When viewing in gv, indeed this results in 4x magnified output.
Then I have setup a printer queue that prints to file to find out the generated postscript that would normally be sent to your postscript printer. This file doesn't have %RBINumCopies: 0 but when viewing this also results in 4x magnified output.
Your original test.ps seems to be DSC conformant when tested with cupstestdsc.
To me this looks like a bug in CUPS pstops filter, you should file a bug report in the upstream CUPS bug tracker.