Dot product with normal vector returns zero on mobile phones.

So I have been creating custom light for my game with shader graph and unlit master node, for that, I connected the output of the normal vector with another vector3 to simulate lighting direction and then saturated it. In the editor, everything works fine but on my mobile device, a mesh is just a black color.

Am I doing something wrong? My mobile phone is Samsung A01

What is more surprising though, that if I connect normal vector directly to the unlit color, it displays normals fine. It seems to me that the dot product with the vector nullifies its output on mobile phones. What can I do to fix it?

Also in amplify shader editor, with the same nodes, it works as intended.

Can you compare the generated shader codes?

I am pretty sure they are different. And shader code from the shader graph is a bit unreadable.