Does Linux support IPv4 mapped IPv6 addresses?

Rather than using ping6, try ssh'ing to ::ffff:127.0.0.1.

I think the specific failure here is related to ping6, not the IP4 mapped addresses.

Aren't IPv4 mapped IPv6 addresses actually using IPv4, and hence, not suitable for ping6?

Linux has a socket option, IPV6_V6ONLY which prevents some applications using IPv4 mapped addresses. However, I think for ping6 the specific issue is the way it works internally.

This is from netbsd, but I think it covers the issue.

You should be aware that IPv4 mapped IPv6 is still IPv4 - it's only presented in a IPv6-resembling text format (or actually, when calling your operating system's libraries or kernel, binary socket address format.)

For dual-protocol applications this is no problem - they know how to switch (implicitly, when using the right (modern) library calls).