The user discovery happens because the act he performs provides the exact intent you need to give him the shortcut.
Also for clarity this is only relevant for content based sites and not apps. It is vanishingly rare for users to scroll up when reading content unless they want to reach the top
This assumption is the problem. No, it is not rare for users to scroll up while reading. People are not perfect machines that read everything in one pass and understand it fully.
They may go back to re-read, or look at an earlier image or figure in the text, or otherwise. Sometimes people zone out for a minute and find they 'read' with their eyes but didn't actually take in the content. That requires going back.
For me, scrolling up to re-read is a basic use case of a web page. If it can't do that properly, it has failed.
If I were to judge from the comments here (and my own behaviours) it is quite common for users to scroll up when reading content for other reasons that wanting to "reach the top".
If the header only appears after scrolling up for a bit then it’s not so bad, but most implementations show the header after scrolling 1px up. That’s infuriating.