During the development of rustls, we also found a similar bug in Apple's TLS stack. We reported that to Apple and they fixed it.
So it is feasible -- at scale -- for TLS clients to validate that DNS names in the SNI extension really are DNS names, and are not IP addresses or bits of URL.