Abnormal normal getting hit normal

When got the vector by hit.normal by click,normal is abnormal in the typical case.

I placed the default Quad at (0,0,0),And attach the code to Empty Object created :

void Update()
{
    if (Input.GetMouseButtonDown(0)) {
        Ray ray = new Ray();
        RaycastHit hit = new RaycastHit();
        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        //Ray from camera to clicked point on the screen 
        if (Physics.Raycast(ray.origin, ray.direction, out hit, Mathf.Infinity)) {
            Debug.Log("hit.normal.x=" + hit.normal.x.ToString("e"));
            Debug.Log("hit.normal.y=" + hit.normal.y.ToString("e"));
            Debug.Log("hit.normal.z=" + hit.normal.z.ToString("e"));
        }
    }
}

Log :

hit.normal.x=0.000000e+000
UnityEngine.Debug:Log(Object)
HitNormalTest:Update() (at
Assets/HitNormalTest.cs:23)
hit.normal.y=6.123234e-017
UnityEngine.Debug:Log(Object)
HitNormalTest:Update() (at
Assets/HitNormalTest.cs:24)
hit.normal.z=-1.000000e+000
UnityEngine.Debug:Log(Object)
HitNormalTest:Update() (at
Assets/HitNormalTest.cs:25)

Why is not the Y Zero?
Is there the way to get correct normal?

This is a computable limits of Vector3 in Unity .There is no way.

I add the following code

            Vector3[] vertices = mesh.vertices;
            int[] triangles = mesh.triangles;
            Vector3 p0 = vertices[triangles[hit.triangleIndex * 3 + 0]];
            Vector3 p1 = vertices[triangles[hit.triangleIndex * 3 + 1]];
            Vector3 p2 = vertices[triangles[hit.triangleIndex * 3 + 2]];
            Transform hitTransform = hit.collider.transform;
            p0 = hitTransform.TransformPoint(p0);
            p1 = hitTransform.TransformPoint(p1);
            p2 = hitTransform.TransformPoint(p2);
            Vector3 verticesNormal = Vector3.Cross(p1 - p0, p2 - p0).normalized; 

I got the same value the normal from The vertices in the Mesh.

Z in vertices is not Zero.

Screenshot - fc3486600bf066fca4950c03ba4f59d2 - Gyazo

When the Convex is checked,hit.normal is correct value.