Candidates selection with submeshes octree confilcts with logic for checking if submesh supports intersect.
Ray intersects bounding box of mesh.
Then, if octree presents, octree returns submeshes from blocks. Ray might intersect only empty blocks, so no submeshes returned. No submeshes returned - submeshes do not support intersect.
I linked code below.
What problem I see.
If I want check that ray intersects any triangles and ray intersects empty octree block, I will get no info at all
This would actually be the same without octree (you can try with mesh.useOctreeForPicking = false;
Basically you are hitting the boundingbox which is one rough info but you could double check subMeshId !== -1 in the data to be sure of the granularity you want ?