So, I have found that what you are trying to do only works if the parent of the destination dataset is not the encryption root. Meaning you have to create another dataset underneath backup/test_enc, and then set that as the destination. I didn’t really dig in to see why this is the case, perhaps there is a way to avoid the extra layer but wanted to share my workaround.
If this really is required, I don’t see any reason, or documentation, so perhaps a bug report is in order. Perhaps others know more.