Hey Stephane,
I was able to create a small first-person-example project with the same shader setup for you to look at. The project is created using the vanilla UE 5.5.4 engine from the launcher, with Android build support added. I’ve verified that it works as expected in-editor and on an Android device (my test device is a Samsung Galaxy S20 FE 5G, US version). The depth prepass is enabled by setting `r.EarlyZPass` to 1 (opaque meshes only) in an AndroidEngine.ini file that I added to the project. The default value is 3 (decide automatically).
With the prepass enabled, the shader works as desired. If that file / setting change is removed, so that the setting reverts to ‘decide automatically’, on my device at least, the depth prepass is not used, and the shader is forced to use the Aux depth buffer, which is the copy of the previous frame’s depth buffer, as I mentioned before.