Hey
@nicoloc and welcome to the forum.
Yep, this story got old already and NetGen sucked quite a bit of my blood and nerves back in the day. My experience with NetGen is just like yours, although I can also add a lack of accuracy as NetGen tends to deform the surface (which is OK for FEA but not for our context). We needed a simple mesher for DFM analysis, and we ultimately restarted from scratch and put together a small in-house mesher based on quadtree decomposition of UV spaces for the CAD faces. Unfortunately, I cannot share the code as it's part of proprietary software. But we can definitely discuss the approach here.
As an alternative, you may want to have a look at GMSH (if not yet). I heard it's quite a decent mesher.
For your question about face IDs, yes, it's pretty straightforward because triangles are associated with B-rep faces. In that sense, the mesh becomes yet another (discrete) representation of a face, while the topology of a part is fully preserved. I am not a user of FreeCAD's API, so I take your word on that matter.