If you look at Entity.setPos() you can see the bounding box gets recalculated whenever the entity's position changes.
It's in world co-ords, not relative co-ords.
The actual bounding box is calcluated using this.dimensions, it does not call getDimensions(Pose) here.
this.dimensions is recalculated from getDimensions() but only if you call Entity.refreshDimensions() where it also recalculates a number of other things.
Turns out there was some unexpected behavior in my dependency injection library, so in a roundabout way, it was getting registered twice. Thanks for your reply!
The correct way to implement that constructor is something like:
public Menu() {
super(Component.translatable("unital.menu_screen.title"));
}
That value is reference to an entry in your language file which you can fix later once you get it working.