The point of abstraction is to not be tied to Bitboard--or any concrete representation whatsoever. Chess 2.0 changing its rules is exactly what can be protected against.
You assume a Queen object and also some compiler details. These might be in practice relevant some of the time but (a) how often, really? And (b) are those forced decisions or decisions of convenience and momentum?
Fwiw, as soon as you say “object” I’m betting you’re taking on expensive, unnecessary OO mental modeling.
In practice, if code uses a Queen object, you put costly indirections in front of the Bitboard and thus already lost performance.