Hi,
thanks for reaching out. I believe the reason why the custom depth pass can not make use of auto-instancing is similar to the fact that early-Z rejection is disabled when the pixel shader modifies the depth value (in which case the renderer can not know the pixel’s depth beforehand and has to execute the pixel shader). I believe the renderer can not predict which meshes will be written to the custom depth pass, since any mesh can take part, and thus cannot optimize for it with auto-instancing.
I will pass on your question to Epic so someone with subject matter knowledge can answer.
Thanks,
Sam