Here is a youtube video demonstrating and explaining the issue. I apologize for the rather poor audio but I think it manages to get the point across.
Here is a showdown replay demonstrating the correct activation of the ability. Notice, it activates on the first turn that HP dips below 50%, after the toxic damage brings it there. (Zygarde also "heals" after activation here, and not in my video, but that's a separate bug that I already made a different ticket for). https://replay.pokemonshowdown.com/gen8 ... 1364263030
And here's the text description: Power Construct appears to have the wrong place in the order of effects that occur at the end of the turn. It occurs too early, causing it to activate BEFORE poison damage. Due to this, on that poison would put Zygarde under 50% HP, it will not transform as it should, because the ability checked and saw Zygarde's HP was above 50% before the poison damaged it. This is not the proper order, and as demonstrated in the showdown replay provided power construct should activate after all forms of residual damage, such as poison or badly poisoned.
Further evidence of this in the video is found when, the very next turn, Zygarde transforms BEFORE taking the poison damage, showing that Power Construct indeed activated first.
I once again apologize for the rather poor quality of video, but it does demonstrate and explain the bug quite clearly I think, so it should be sufficient.