It isn't just slow migration. Yahoo has been contracted to manage email for a lot of older ISPs, they host mail for a whole lot more than just @yahoo.com users. There are millions of people who use the Yahoo Mail interface because that's what their ISP switched to.
For example, 20 years ago I had a dialup internet account through my telco at the time, BellSouth. My email address from that service, which I still have, is @bellsouth.net. BellSouth no longer exists, it was swallowed back into ATT when the government decided that monopolies were a great idea again. For a year or two, the BellSouth webmail interface continued to exist, then it was shuffled over to the att.net domain, and several years ago ATT decided to move all of their users over to Yahoo. If I want to check my @bellsouth.net email through the web, I'm taken to Yahoo Mail. (Yes I'm aware of options like mail2web.)
As far as I know, the same is true for customers from all of the Baby Bells that were re-absorbed back into ATT, and there are plenty of smaller ISPs who gave up on hosting their own mail in favor of paying Yahoo to do it for them. There are many, many people interacting with Yahoo Mail every day who have never had an @yahoo.com email account and probably don't use Yahoo for anything else.