Sorry I dont know muchj about the parametric modeling in freecad. Ignore the rest of this comment, it's just a rant :)
I've been using freecad fairly heavily (hobbiest level heavily, so nights/weekends) for the past year and a half.
I can't recommend freecad for any project you'll put more than 10 hours, or 3 iterations into.
References suck in freecad. Sketches/constrains are okay, as long as all your references are in the sketch. If they're in another sketch or body, forget it.
Lets say you want to create two parts where a polar pattern of bolts align between the two. Top has a hole and counterbore, bottom is threaded. The most efficient way of doing that is drawing a copy on a piece of paper and write down the dimensions. then create two sketches on the two bodies and enter those dimensions. Which is dumb. Wouldn't it be nice to reference a constraint/dimension in another sketch? or use a master-sketch like fusion360? not in freecad.
freecad does have a reference system, but they're named references that are a pain in the ass to remember. And, there's no point since sketches lose their faces way too often. Modifying a sketch in the middle of the body history means risking all the other sketches just coming off the body and leaving you with a mess.
That said, i've used freecad to design fairly complicated assemblies that have electronics, gears, motors, bearings, and moving parts. iterating on the design just requires a lot of rework.
You can absolutely refer to constraints from other sketches in expressions, copy geometry directly from other sketches and "export" geometry from other bodies or generated geometry with a shapebinder in Part Design (or a Facebinder from the Draft workbench in a Part workflow). Shapebinders are very useful.
There are master sketch workflows. Youtube videos are out there for those (Mango Jelly Solutions has at least one).
The “losing faces” issue is the Topological Naming Problem. This is very soon to be mitigated and it can be worked around in the meantime (offset your sketches from a base plane rather than attaching them to a face). Though it is I gather still murderous in one of the assembly workbenches. The fix is coming soon.
Many of your other concerns would be addressed by doubling down on the parametric stuff, I think. The Spreadsheet module can help solve a lot of problems that are otherwise solved by the methods above and may be easier to keep track of. You can do calculations in there more or less as you would in a typical spreadsheet, and then give cells of the spreadsheets aliases that you can refer to in expressions anywhere in your design.
FreeCAD is really fundamentally parametric, and once you get into that, you have a bunch of options.
I've been using freecad fairly heavily (hobbiest level heavily, so nights/weekends) for the past year and a half.
I can't recommend freecad for any project you'll put more than 10 hours, or 3 iterations into.
References suck in freecad. Sketches/constrains are okay, as long as all your references are in the sketch. If they're in another sketch or body, forget it.
Lets say you want to create two parts where a polar pattern of bolts align between the two. Top has a hole and counterbore, bottom is threaded. The most efficient way of doing that is drawing a copy on a piece of paper and write down the dimensions. then create two sketches on the two bodies and enter those dimensions. Which is dumb. Wouldn't it be nice to reference a constraint/dimension in another sketch? or use a master-sketch like fusion360? not in freecad.
freecad does have a reference system, but they're named references that are a pain in the ass to remember. And, there's no point since sketches lose their faces way too often. Modifying a sketch in the middle of the body history means risking all the other sketches just coming off the body and leaving you with a mess.
That said, i've used freecad to design fairly complicated assemblies that have electronics, gears, motors, bearings, and moving parts. iterating on the design just requires a lot of rework.