Can Canary upgrades work with old Istio version?

We’re having a 1.2.7 cluster on production.
I wonder that the Canary upgrades in 1.6 can be use for upgrading that old cluster?

In theory it can work but you may run into issues. For example in the upgrade notes we give some guidance on manual steps required for 1.4 to 1.6 upgrade. In general we only test 1 version upgrades so anything else please do extensive testing before doing so in a critical deployment