It is a known Sitecore issue. (There is a description of packages, but the Unicorn issue has the same origin.)
Sitecore does the movement of data from one table to another when you change field properties(shared or unversioned). The problem is when you are using Unicorn, these actions are not triggered. Field properties are applied after Unicorn sync, but data wasn't moved properly.
It means that you need to be careful when you change shared or unversioned and plan to spread changes using Unicorn sync. If something will go wrong then there is a risk to lose data.
The problem with sync is that sync doesn't have any differences for templates and for other items. That is why from my understanding it will not be only turning on/off of some event. You will need to go deeper and change the sync itself.
Contacting Sitecore support didn't help, they didn't provide a hotfix for it. (on Autumn 2020)
So, when we faced this issue, we solved it by applying shared/unversioned changes manually and running sync after that.