I solved the problem. For calculating dot product of normal and light direction is using max from dot and 0 for "dark to light" shading
max(dot(normal, lightVector), 0.0);
If you replace above mentioned by this one, lighting is good from both side... get "light - dark - light" shading
abs(dot(normal, lightVector));
EDIT: this of course not working in camera - plane - light case. In theory, it will probably needs camera-vertex dot and check it with normal-light dot...?