Hmm this is difficult to fix, since in theory, the padding on the outside should not be added by the game itself. And to workaround this, each shader would need to be patched in order for this to work - which wouldn't be a problem if every shader used the ReShade.fxh (which unifies depth access) but shaders like Depth3D don't do that.

To fix most shaders, open the ReShade.fxh and find this function:

float GetLinearizedDepth(float2 texcoord)
{
#if RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN
texcoord.y = 1.0 - texcoord.y;
#endif
float depth = tex2Dlod(DepthBuffer, float4(texcoord, 0, 0)).x;
#if RESHADE_DEPTH_INPUT_IS_LOGARITHMIC
const float C = 0.01;
depth = (exp(depth * log(C + 1.0)) - 1.0) / C;
#endif
#if RESHADE_DEPTH_INPUT_IS_REVERSED
depth = 1.0 - depth;
#endif
const float N = 1.0;
depth /= RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - depth * (RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - N);
return depth;
}

Modify so it looks like this

float GetLinearizedDepth(float2 texcoord)
{
float aspect_fix = 21.0 / 16.0; //adjust source/destination ratio
texcoord.x = (texcoord.x - 0.5) * aspect_fix + 0.5 ;
#if RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN
texcoord.y = 1.0 - texcoord.y;
#endif
float depth = tex2Dlod(DepthBuffer, float4(texcoord, 0, 0)).x;
#if RESHADE_DEPTH_INPUT_IS_LOGARITHMIC
const float C = 0.01;
depth = (exp(depth * log(C + 1.0)) - 1.0) / C;
#endif
#if RESHADE_DEPTH_INPUT_IS_REVERSED
depth = 1.0 - depth;
#endif
const float N = 1.0;
depth /= RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - depth * (RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - N);
return depth;
}

I'm trying to do this with QUINT. Without the ratio fix. I copied over what you posted. It breaks everything. I also tried renaming texcoord to uv because I didn't know if you were implying to us to do that. I can't ever use MXAO or DOF together because one is always flipped.