Can't comment on the fillet/chamfers but for boolean operations I didn't find it to be a decade behind at all https://github.com/IfcOpenShell/IfcOpenShell/pull/9958
For your application in IFC, the architecture difference between OpenCascade and SMLib doesn't matter as much, but a geometric modeling kernel for mechanical CAD has much stricter requirements in terms of geometric correctness, which is the reason that Rhino, despite being BRep and widely used in architecture, isn't used very much in mechanical CAD at all.