I’m counting unreleased skins and leaked skins such as Necromancer Ram and Mob boss Junker Queen BTW. Gonna go from most to least. E= Epic, L=Legendary, and M=Mythic.
Kiriko: 5(1M, 3L, and 1E)
Junker Queen: 5(1M, 3L, and 1E)
Ramattra: 4(3L and 1E)
Soldier 76: 4(3L and 1E)
Sojourn: 3(2L and 1E)
Mercy: 3(1L and 2E)
Genji: 3(1M, 1L, and 1E)
Reaper: 3(2L and 1E)
Hanzo: 3(2L and 1E)
Pharah: 3(2L and 1E)
Cassidy: 3(2L and 1E)
Mei: 3(1L and 2E)
Zenyatta: 3(3L)
Tracer: 2(1L and 1E)
Ashe: 2(1L and 1E)
Doomfist: 2(1L and 1E)
Roadhog: 2(2L)
Junkrat: 2(1L and 1E)
Reinhardt: 2(1L and 1E)
Sigma: 2(1L and 1E)
Wrecking Ball: 2(1L and 1E)
Sombra: 2(1L and 1E)
Ana: 2(1L and 1E)
Lucio: 2(1L and 1E)
Moira: 2(2L)
Echo: 2(1L and 1E)
Symmetra: 2(1L and 1E)
Widowmaker: 2(2L)
D.va: 2(2L?)
Winston: 2(2E)
Brigitte: 2(2E)
Baptiste: 2(2E)
Bastion: 1(1L)
Torbjorn: 1(1L)
Orisa: 1(1L)
Zarya: 1(1E)
Findings are that yeah newer heroes get more skins because Legacy heroes mostly have 20+ skins to choose from. Also Sojourn likely has the least out of the newer heroes because she is absolutely the most boring character only beaten by Echo(both are fun as hell gameplay wise but lore wise are resident sleeper). Also GIVE WINSTON AND BAP A LEGENDARY PLEASE