What a concise, informative answer this is. You write well.
FreeCAD’s (well, OpenCascade’s) issues with fillets and chamfers appear to be most acute with a subset of your third point: sometimes adding one involves the new feature fully consuming another edge. This is unsolved in OCC and it’s why sometimes even infinitesimally changing the depth of the fillet or chamfer is enough to stop an edge being destroyed.
FreeCAD’s (well, OpenCascade’s) issues with fillets and chamfers appear to be most acute with a subset of your third point: sometimes adding one involves the new feature fully consuming another edge. This is unsolved in OCC and it’s why sometimes even infinitesimally changing the depth of the fillet or chamfer is enough to stop an edge being destroyed.