Any of those options should work.
The following information is almost entirely redundant with what has already been explained in a slightly different context at length here:
https://openzfsonosx.org/wiki/Zpool#Creating_a_poolThe possible benefits of rebuilding a pool:
File system properties
1. lz4
[not available in ZEVO and not available in pool version 28; must be specified at the time a dataset is created] Option to enable lz4 compression before putting any data in the pool. The same effect can be achieved in an old pool by creating a new dataset with lz4 enabled, and copying data there. If the data is already compressed or is encrypted, this would yield little benefit.
2. dedup
[not available in ZEVO; must be specified at the time a dataset is created] Option to enable dedup before putting any data in the pool. The same effect can be achieved in an old pool by creating a new dataset with dedup enabled, and copying data there. Dedup requires a lot of memory, and is usually not recommended for home users.
3. ZVOLs
[not available in ZEVO; a type of ZFS dataset, to which a ZFS file-system dataset cannot be converted] Option to use a ZVOL dataset instead of a file-system dataset. A ZVOL presents as unformatted block storage, which can be formatted as HFS+.
4. normalization
[available in ZEVO; must be specified at the time a dataset is created] Option to enable normalization=formD before putting any data in the pool. The same effect can be achieved in an old pool by creating a new dataset with normalization=formD, and copying data there. This is primarily useful to users who work in languages other than English.
5. case-sensitivity
[available in ZEVO; must be specified at the time a dataset is created] Option to enable casesensitivity=insensitive before putting any data in the pool. The same effect can be achieved in an old pool by creating a new dataset with casesensitivity=insensitive, and copying data there.
Pool properties
1. ashift
[available in ZEVO; must be specified at the time a vdev is created] Option to create the new pool with vdevs having ashift=12. If an old pool was created with the default of ashift=9, there is no way to change the old pool's vdevs to ashift=12, though new ashift=12 vdevs can be added alongside the preexisting ashift=9 vdevs using zpool add -o ashift=12.
Considerations other than properties
1. rebalancing
If the pool had new vdevs added after pool creation, data may be unevenly distributed amongst the vdevs. Creating a new pool with all vdevs in place before putting data on the pool should lead to a balanced distribution of data across the vdevs.