CGAL Mesh boolean difference produce a lot of triangles. Clean them up with brep conversion or clean them using corefinement: https://doc.cgal.org/latest/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_difference_remeshed_8cpp-example.html