In a scene graph library you usually have a class for modelling the 3D hierarchy. Sometimes it’s called Node, Entity, Component or Object3D in the case of three.js. Such 3D objects have a position, rotation and scale component and also derive their transformation to their descendants.
Materials and geometries are different since they can be shared by more than a single 3D object. Besides, it’s not their task to represent 3D transformations. Materials describe the object’s surface properties whereas geometries describe the raw geometry data.
TBH, it would make no sense to me to derive BufferGeometry from Object3D. It would be contradictory considering the scene graph concept and the resulting separation of logic.