Detaching a device should issue a vdev.detach, not a vdev.remove.
Issue a vdev.remove when a vdev have been removed from a pool.