There are many positive things about mesh topology, but one of the things that can take a little getting used to is that you cannot force the sequence of events. The devices route the messages themselves, and they can and do bounce around the network for a little while sometimes. There isn’t anything you can do about that directly.
This can lead to the “popcorn effect” where different lights will come on in a different sequence and sometimes with a noticeable beat or two between them.
This problem is aggravated when there are multiple protocols involved.
There isn’t really anything you can do about it except try to get the network as efficient as possible. Which can be easier said than done.
If you need totally synchronized lighting about the only thing you can do is go to a different topology, usually Wi-Fi, where each device has its own direct route to the hub.
(The best networked lighting is probably Lutron. They hold a number of patents and their maximum is around the minimum for many other protocols. Unfortunately, there is no direct integration with SmartThings. There is in direct integration using IFTTT, but that can add its own lag. So you can end up with lights that are better synchronized but take longer to come on. )
But as long as you’re working with Z wave and zigbee, you just need to get the network tuned up as much as you can. You might want to add additional repeaters (two per room is usually sufficient), make sure you do a network heal for each Protocol anytime you move or add a new device, reduce polling as much as possible, etc.