Certbot, force IPv4?

I managed to get it working.

On the IPv6 host, check to see if the file exists, if not reverse-proxy to the IPv4 host.
On the IPv4 host use certbot certonly --webroot and make sure your webserver serves up /.well-known/acme-challenge from the --webroot-path you give certbot.

You cannot use the nginx plugin, because it creates a temporary config that will listen on the IPv6 certbot wants to check.