One way to achieve this could be with a floating hero block.
The hero could be always visible at page load, disappears when scrolling down and appears again when scrolling up.
Or there could be a "compact" version of the hero that stays permanently stickied to the top of the screen after scrolling. I believe that's a popular approach on websites (I think of the GitHub user profile page), but this would require some consideration as to how extensions add stuff to it. Probably easiest to be a separate component that extensions can optionally extend in addition to the hero.
Not sure about mobile. The same approach could work, but some elements should probably be shortened/hidden with conditional CSS to use as little space as possible on small screens.