= EDIT =
It turns out
yum was correctly trying both ipv4 and ipv6. And the dns resolver in glibc correctly detected that your computer does not have a routable ipv6 address, so it preferred the ipv4 address. However glibc still returned the ipv6 address. It it just put the ipv6 address at the bottom of the preference list.
yum tried the ipv6 address last. Unfortunately, it seems that
yum only showed the last error. So
yum only showed the error for ipv6 - which you already expected would fail! - and did not show what the error was for ipv4.
= Previous answer - which was completely wrong about the problem =
I don't know about yum. The error sounds like it's missing an implementation of Happy Eyeballs, i.e. fallback to ipv4. There is an ipv6 address...
$ host dl.google.com
dl.google.com is an alias for dl.l.google.com.
dl.l.google.com has address 184.108.40.206
...many randomly permuted addresses...
dl.l.google.com has address 220.127.116.11
dl.l.google.com has IPv6 address 2a00:1450:400c:c06::5d
Apparently there is a workaround for when this goes wrong, which is to edit /etc/gai.conf and uncomment the line
precedence ::ffff:0:0/96 100. This gives precedence to ipv4 addresses.
I think normally it should just work. You'll have a link-local ipv6 address, but a site-local ipv4 address (or a public one without NAT). The libc DNS resolver should then prefer ipv4 destinations. This is specified in RFC 3484.
I wonder if this is a Teredo-style problem. Has your router (e.g. an Apple Airport) assigned you a global IPV6 address through an unreliable tunnel? My computer (no global ipv6) looks like this:
$ ip addr |grep inet6
inet6 ::1/128 scope host
inet6 fe80::215:afff:fe9f:fcd2/64 scope link