A common home-lab setup involves a Docker host with dual-stack connectivity (IPv4 + IPv6 on the host), where containers are attached to a macvlan network to appear as first-class devices on the LAN with their own IPv4 addresses.
The motivation for still wanting host-side port bindings is precisely the IPv6 gap: the macvlan network and the containers on it are IPv4-only. If you want to expose a container service over IPv6 — so that it's reachable at [host-ipv6-address]:port — you cannot do it via the macvlan IP. You need the Docker host's IPv6 address to forward traffic into the container, and that requires a working ports: binding on the host's network stack.