Hey again Igor,
I am unsure because I remember when you turn on the hide all expired offers it used to hide offers only for normal visitors that were expired and this was good.
But when admin used to access these store pages with expired offers, they were still able to look at them, and this made sense because it's makes it easier for admins to manage offers that are listed and expired.
Example- Say it's November & if I had published an offer named "Nike black Friday" and set it to expire in nov end 2024, now when I enable hide expired offers it would hide this offer after nov and next year when black Friday comes again I don't have to make another making it a duplicate with same exact thing.
In current scenario I'll have to always double check expired section if I already published an offer, even then there may be discrepancies while finding it as it could be because I might have used another word for black Friday say BF. Got my point?
Rather I have a recommendation, if there could be a way where when the offer expires it automatically comes at the bottom of that store page, I am currently doing this by changing the publish date to say 2020 so it automatically comes down.
the same is now. Expired items are hidden for all, hidden doesn't mean that they are deleted, all can open these offers by direct links. We didn't change anything in this logic. Maybe you have custom plugins that changes Core query