Yeah, I’ve hit this when adding an extra large banner whilst developing a big plugin for a client. In my case the offset was completely ridiculous (it was off screen!)
There may be a simpler solution, but it turns out this is a little involved and requires you to override a function, e.g. for user card:
api.modifyClass('component:user-card-contents', {
_positionCard(target) {
That comes from a mixin, located here: discourse/app/assets/javascripts/discourse/mixins/card-contents-base.js.es6 at b3eb67976dd0c0129736fe0b86167d7e512b51f4 · discourse/discourse · GitHub
I used jquery to determine whether or not to apply the modification depending on the visibility of the banner: on some pages I had the big ‘banner’, on others I did not. You could use a similar strategy.
tbh, your example doesn’t look that bad - I’d consider letting it be?