zpool set autoreplace=on pool_name
zpool set autoexpand=on pool_name
properties must be set on the pool for this to work, either before or after the pool upgrade. Note that older versions of zpool(1M), like for example zpool version 15, do not have the autoexpand property.What cannot be done is a reduction in pool's capacity, but that does not come into these tales.
There is no "apriori size determination", as zpool(1M) uses the entire disks or logical units, and ZFS filesystems use only as much capacity as they require, and no more, leading to extremely efficient disk space utilization.