Cloudflare doesn't allow disabling IPv6 via their Dashboard any more. This works:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/<zone-id>/settings/ipv6" \
-H "X-Auth-Email: <email>" \
-H "X-Auth-Key: <auth-key>" \
-H "Content-Type: application/json" \
--data '{"value":"off"}'