Originally when you said that the date was actually correct inside the container what ultimately did this? (before you rebooted everything and it reset again)
mounting /etc/localtime and /etc/timezone to the container, then going into the container in an interactive session and running ‘date’ shows the correct timezone.
So I tested it as my checkmk instance is in a container using kubernetes and was using UTC as well. I went ahead and had a configmap made from the /usr/share/zoneinfo/America/Chicago and mounted it as /etc/localtime and this immediately resolved after a container restart.
You could try something similar in docker for example:
/usr/share/zoneinfo/America/Chicago:/etc/localtime:ro (i believe that’s the method for a readonly mount in docker)