Yes, atmosphere triggers are different animals and not treated as ordinary triggers.
I have simulated a day/night cycle and my script works similarly to yours. There is one "gotcha", however. Currently, if you are standing idly in the trigger when the timer goes off and you change the atmosphere, it will not start changing until the player moves and triggers the trigger. It would be a nice change if Larian were to give us an API for kicking the atmosphere trigger. As it stands now, I have a workaround hack wherein after changing the atmosphere of the trigger, I get the current position of the player. If the player is still in the same position after a few seconds, I nudge the player by 0.1. Not sure if it will work if the player is in a conversation, and I know it doesn't work if the player is lying in a bed. So there are a number of little quirks right now that will make this a real hassle.