We have just recently run into this issue with the on-demand download policy using Katello 3.9.
We added a whole new OS Release of SLES using the on-demand policy and found katello just not downloading some of the required packages.
After fiddling around a lot with this (using on demand was an accident we did not realize untile quite some time later), we found that the on-demand policy was what caused all the inconsistent repos in the content fews. Due to that, we dicided not use that feature anymore. I personally tend to advise against using it at all;aybe there have been improvements since then or the SLES repos were just to rapidly changing, I don’t know.