How is 20M IPs 9% of all IPv4 hosts? That works out to something like 220M IPv4 hosts, when I'd naively think there should be more like 4B or so.

Many are reserved, not in use or even advertised.

Yet they are still part of the “all ipv4” address space, so either the percentage is wrong or the use of “all” is a lie here.

No, it's hosts, something different from just all IPv4.

You're really confident about this, but I just can't find where hosts is different than addresses when we're talking about IPv4.

You see how you can have an IP address that is not assigned or used on something? So amount of IPv4 addresses > IPv4 hosts.