Correct normals estimation and closed volume

I’m trying to grid a closed volume, but run into some issues.
So i made a volume from scratch to test a couple of things.
The volume is just a rectangle (x ranging from 100 to 200, y ranging from 400 to 500 and z ranging from 0 to 40).

I first thought that the issues came from the estimation of normals.
For example, horizontal faces - for constant z (z = 0 and z = 40) have vertical normals, but they both head in the same direction. Which means one face is turning outward and one is turning inward.
It would be the same then for fixed x faces or fixed y faces.

So I computed normals manually, to have them pointing outward, but the meshing is keeping major holes - full faces are missing (see attached image - left part - manual normals ; right part - resulting mesh).

Any idea how to compute more efficient normals (if it is needed) and how to avoid missing faces ?