Not following your math here, since there's so many unknowns.
For a first point, you don't even need 20% of people going sup/?, ?/sup, fill, or ?/fill in order to create full games. People that don't fall into those categories could just have longer wait times. That could translate into the sup/? etc. group getting more games in than people that queue non-sup1/non-sup2. And it could be that the ones that are sup/? and fill primary have even more games than the ?/sup and ?/fill ones. I don't ever remember Riot releasing data on relative queue times per role declaration. From my personal experience in Team Builder, I wouldn't be surprised if queue time for Fill and Support primary was significantly lower than for Mid/Jun players.
For a second point, Fill is a huge unknown here. I don't remember Riot ever releasing numbers on what roles Fill or ?/Fill players got what percent of the time. General consensus is that queuing Fill primary is going to get you support 50% of the time or more. (Lots of people say 100% as a joke, but from the experience of myself and others I've talked to, it's usually somewhere 50% < X < 90%, depending on the person.)
If Fill didn't exist and all players (per role declaration) had equal queue times and played an equal number of games per unit time, then I'd be able to say the number of sup/? and ?/sup queuers was >= 20%. But as it is, I need a lot more details to believe your statement that "mathematically, there had to be significantly more than 20% of the playerbase who picked support as either their primary or secondary role."
Edit: Plus the final sentences in the "first point" paragraph.