Marking surfaces of a 3D mesh (mshr) to apply b.c

I am sorry for any discomfort (I too hope this nightmare finishes!).
I was already looking at the Visibility section in Gmsh. And this is consistent with my comments:

I would have expected dx(1) to be the top block volume element and dx(2) to be the bottom block volume element, as is shown with Gmsh.

and

but then again, if that was true then ds(4) and ds(5) should have returned 16 instead of 0.

So yes, I know (or at least, I think I know) what I should expect with the dx(subdomain_id=N), ds() and dS(). Or am I still missing something?

Regarding your other comment, I used your own code from March 5th of Transitioning from mesh.xml to mesh.xdmf, from dolfin-convert to meshio - #93 by Ali. I thought the code would work for a 3D mesh. I will look better then.