I'm not sure I understand your comment; OpenSCAD has functions like sphere(), cylinder(), etc. Most OpenSCAD models I have seen are built up primarily from solid primitives combined using boolean operations, just as you describe for the other tools.
https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Man...
Theres a better description of the differences here: https://build123d.readthedocs.io/en/latest/OpenSCAD.html#tra...
Some of the differences may be in when you are trying to reference a face/edge to build off of, not just about the primitive function being used.
> I'm not sure I understand your comment
Try to do the following with OpenSCAD:
1. put a sphere and a torus somewhat close to each other
2. find the shortest segment between the two surfaces
3. place an infinite cylinder whose axis is aligned with the segment you just found
4. fillet the cylinder with both the torus and the sphere along its intersection curve with each surface
This is very, very hard to do with OpenSCAD.
OpenSCAD works natively with triangle meshes. sphere() will create a spherical triangle mesh.
These libraries on the other hand can natively represent a sphere for instance. This means that during CAD-ing you don't need to worry about resolution, that's a consideration for export only.