When I was doing the ParallaxOcclusion code for my URP+ pipeline following the HDRP example, I noticed a bug (or I’m wrong).
In HDRP code we multiply viewTS by GetDisplacementObjectScale():
float3 viewDirTS = isPlanar ? float3(uvXZ, V.y) : TransformWorldToTangent(V, input.tangentToWorld) * GetDisplacementObjectScale(false).xzy;
But if we do not do this, then DepthOffset will work more correctly. Here are the screenshots: