I ran into this exact issue last night -
When a computer is connected via IPv4 but the IPv4 a repo host connects to is not available, yum then tries the IPv6 address and will fail with a confusing message telling you it failed to connect to the IPv6 address.
I don't know if there is a way for yum to figure out whether the current network connection to the Internet is IPv4 or IPv6.
But if there is a way, it might make a usability improvement. A lot of people have no idea what IPv6 is and would be confused.
I was confused myself at first, wondering if DHCP pulled in IPv6 from the router.