Syncoid use --sendoptions="w" and unencrypted dataset, any limitations

I am replicating my dataset to a remote machine. At some point in the future i want to use native encryption. I am aware that native encryption requires using a --sendoptions=‘w’.

Is it ok to use raw option with an unencrypted dataset?

I could then move the unencrypted dataset to encrypted dataset locally without syncing over the internet (and eating into my datacap).

Yes, although you may want to adjust some other options if you do. In addition to preserving encryption, raw send preserves compression–so you’ll probably want compress=none in your syncoid arguments if you’re using raw send, since it’s extremely unlikely that lzo will get any additional compression out of a stream of still-lz4-compressed blocks.