Maybe the problem isn't shading caused by faulty normals but just a visual effect of all the dashed lines. What happens if you do the Unity equivalent of SketchUp's hide hidden geometry?