The way I see it, if one of those tools really wants to succeed in the industry, it needs to have a GUI for that group of end-users. I think one way this could be nicely achievable with a JSX(-like) markup system, where components can be easily GUI editable as long as you don't have any custom code in them (just like low-code React editors do it).
There is some overlap but it's not that big. OpenSCAD is useful if you can describe your model as an algorithm. FreeCAD is useful when you want to define your model visually.
I don't think one can say either of them is strictly better than the other because they are not quite the same.
However it's easy to see how avoiding the need for a constraint solver significantly reduces the complexity of the software.
But OpenSCAD’s approach hit a wall quickly for me. Trying to figure out the distances for new objects was a PITA. It would be nice to have a simple GUI tool for placing an item by inserting the proper code. Ideally you’d be able to link changeable parameters in the GUI to code variables and be able to do things like show/hide in the GUI, or even a repl.
In the meantime another possibility might be to write a code generator for the scad language.
https://github.com/arnholm/angelcad-samples/blob/master/rect...
https://github.com/arnholm/angelcad-samples/blob/master/poly...
That being said, those are clearly "toy" level of complexity and I haven't tried it out.
That said, a recent post on Reddit in r/openscad mentioned designing an entire car to do the Pike Peak challenge in Colorado.
We have a lot of tools and methodologies available. Picking the right one needs care and attention to detail. It's the same as the other "real world": I know my way around metal and wood working equipment and I can do simple welding. My carpentry is good first and second fix grade but not cabinetry, and I can weld stuff together, sometimes without melting both objects.
I can design bridges and roads as well and they may work fine ...