Do you mount the drives using their /dev/sdX entries or via UUID? Because it sounds like you're using /dev/sdX entries (which you really shouldn't, because their names can randomly change, by design). Use /dev/disk/by-id/... directly for mounting or, alternatively, fill /etc/zfs/vdev_id.conf (see example below) and define the pool using their aliases.
alias Bay1 /dev/disk/by-id/ata-XXXXXXXXXXX1-YYYYY1_ZZZZZZZ4
alias Bay2 /dev/disk/by-id/ata-XXXXXXXXXXX2-YYYYY2_ZZZZZZZ4
alias Bay3 /dev/disk/by-id/ata-XXXXXXXXXXX3-YYYYY3_ZZZZZZZ4
alias Bay4 /dev/disk/by-id/ata-XXXXXXXXXXX4-YYYYY3_ZZZZZZZ4