Rereading books and such I think if the device reports logical 512b blocks but internally uses 4k physical (a possible situation on SSDs), and you set ashift to 9, that's where you run into potential performance issues. ZFS knows about 512b, so to write 4k of data, ZFS queues up 8 write transactions (at least that's my understanding).
Smaller may be more efficient if the workload is storing lots of small files (same thing on UFS and pretty much every other filesystem)
The long living array: I think new devices, set ashift to 12 (4K) then add them. I think worst case would be new vdev gives different performance which may affect overall array performance.
Just my opinions based on my understanding which may be completely offbase