"Handles that have their own stack will never desync!"
I speak JASS, but I don't know what that means. Handle stacks?
The stacks refer to handle ID's.
The main stack begins at 0x100000 (hex), which is 1048576. The reason why it is called a stack is because of the way handle ID's are assigned. Normally, handles will be +1 the last value. So the first handle will be 1048576, the next 1048577, the next 1048578, etc. Once a handle is destroyed, that slot becomes available. So if the stack is currently at 1049000, but the handle at 1048600 is available, then the next handle created will go to that slot.
That "general" stack applies to most handles, including units, triggers, rects, locations, and more. However, some handle types have special stacks. For example, texttags have their own stack that starts off at 0 and goes to 99 (or the other way around, I don't remember). The same thing happens for ubersplats and lightning handles (iirc). There are probably a few others as well.
As a general rule of thumb, those can be created within GetLocalPlayer() without desyncs. I can't say I've tested them all though, but I can guarantee that texttags work when created/destroyed locally.
However, those handles having a separate stack might not be the reason that they don't desync when created locally. We don't really have that much insight on how Blizzard coded Wc3. It is just an observed pattern.