As of #1696 (comment), zfs_dirty_data_max_max is dynamically set to a fraction of physmem * PAGESIZE where it used to be statically set to 4 GiB. As the comment notes, this change was intended to prevent overflow of zfs_dirty_data_max and zfs_dirty_data_max_max on 32-bit systems.
It's clear that these values need to shrink on 32-bit systems.
It's not clear that these values would need to grow on large 64-bit systems.
Ideally, zfs_dirty_data_max_max would be capped to 4 GB (as it was before).