Booleans: Ok sometimes, you just have to make sure you have no coplanar/coincident surfaces, or coincident edges, or anything that’s not a clear, non-ambiguous intersection. Also heavy/dense meshes will mail more often than not, but low-poly cage>_ToSubD>_ToNutbs will work (sometimes)
Fillets: they will fail most of them time. Rhino doesn’t really have robust fillets in their tools/solvers/kernel.
I’m questioning why would you even want fillets in beautifully modeled SubD geometry. I’d go with G2 blends everywhere. It’s more work, but it’s a more refined result.
Thickening: terrible on sharp creases and in any situations where the offset amount creates self-intersections of ‘bow-ties’, also very inaccurate since it currently offsets based on the normals of each control point, not The normal of the low-poly surfaces that those points define. You are better off converting to Nurbs first, and they doing _OffsetSrf and _Shell to the nurbs. But in either case there will be manual labor to solve tricky areas.
Sometimes we work in a similar workflow between Modo/T-Splines geometry converted to Nurbs to go from concept work to final geometry for production/tooling. In some case we fully rebuild in Nurbs, in some others we convert and prep like you describe. It depends on each case/model/detail/client/budget/timeline. It’s not a walk in the park process. It’s labor intensive, but it’s the best way to achieve topology and design details that would take about 2-3X longer if it was all nurbs. And more like 10X-20X once you consider the design evolution/changes along the way.