ad requests from URLs that are not crawled
Yes, this is like that since Adsense turned on their brand safety "protection". Now, for ads to show on a given page, this page has to be crawled and analyzed by the Adsense bot (not Googlebot).
A "human" visits the page => no ads served => the page is added to the Adsense bot TODO list => The Adsense bot visits the page => the page is analyzed => the next time a "human" visits the page, ads will show.
That's the theory, in practice, I have the impression that it requires more than one human visit to trigger the adsense bot crawling. And, after a moment, one week or two, if the page has not been accessed again, then the whole process resets.
Also, I have the impression that it depends of country of visitors as well as devices. If the page is crawled/analyzed by the Adsense bot, beacuse of the visit of an American on a desktop, ads will show for Americans using desktops, but not Americans using mobile, or British using anything. It looks like things are segmented too.