The tracks were actually often quite different back in Ryun's day. His 3:59.0 mile at Compton his Junior year was run on clay track. His 3:55.3 HSR his Senior year was run on a brand new Grasstex asphalt-composite track. It was very hard, better than cinders maybe but not as fast as today's tartan tracks. And don't forget Ryun ran a 4:11 mile the day before in a qualifying round (Webb had no such duties to perform the day before his HSR.) His 3:39.0 1500m was run on a torn-up cinder track (look at the photos!). And a lot of tracks in California at the time were not cinders at all, but dirt pebbly tracks. If they were maintained they were okay, but if not watered and maintained they were very, very slow.
When I was in high school, I always ran 1 sec faster per lap on an all-weather track versus my school's old dirt track. And this I realized in hindsight. I didn't think about it at the time. Ron Clarke agrees on the 1 sec per lap rule.
As for Webb's 3:46 mile versus Ryun's career best? I think Ryun owns the superior performance. Ryun's fastest ever race was his 3:33.1 1500m run on a dirt track in the middle of a 94F hot summer day in the smog of 1967 downtown LA, and his first 300m was only 46 seconds.
Even discounting the terrible conditions, a 3:33.1 1500 is equivalent to a 3:49.9 mile, which on a dirt track betters 3:46.9 for a mile. Never mind that they were 40 years apart!