Testing this out, this works for me perfectly. The only thing I changed about your code that the print is triggered by a different button and doesn’t happen during setup.
Hm okay, looking into this more it appears to be a specific issue within the module’s Setup function. I’m getting inconsistent behaviour; on boot, modules very rarely (but still sometimes) get their rotation correct. On a page change, they get rotation correct most (but not all) of the time. And when attaching a new module to an existing layout, it’s maybe about 50/50
For now, I can work around this with another Timer hack like I did for immediate_send. But it does complicate the code, and makes it harder to share rotation-aware Snippets.