Since the issues can be reproduced, I am guessing that there is a bug in the installation script. I am also guessing that the timezone reset issue is caused by the same script if it is being reused during system upgrades.
To be fair, I do see a lot of complexity since PHP comes to the mix...
I am sorry that I cannot provide more help on resolving this bug, but my technical knowledge on Linux and PHP is somewhat limited.
From my perspective, it might help to locate the issue in the installation script. I mean the issue can currently be resolved by re-applying the timezone in System Admin. So, I am guessing that the "script" used there is different from the installation script.
Hope that helps...