It seems that GLB import creates separate meshes for each material. I have a single mesh in blender with multiple materials. In import I get a flat list of root mesh and number of meshes equal to number of materials. The child meshes are not listed as sub meshes of the root. Is this correct behaviour?
Yep, this behaviour comes from glTF standard (1 mesh = 1 material).
To get children from your original mesh name, you may be interested by the method I’m using in this playground: https://www.babylonjs-playground.com/#4AJ16M#15 (basically, for each mesh I loop into its children).