You are setting the TZ environment variable which will be passed to the docker container used to execute that specific job. That will only set the set the environment variable inside that container when it is running.
The cron schedule trigger at the workflow level is outside of your job’s docker container and won’t have any knowledge of the timezone (or other variables) set inside the container. I’m not aware of any way to set the timezone used for a workflow schedule, and the documentation currently only mentions UTC.
The simplest option is probably to do a timezone calculation from your desired timezone to UTC and set your cron to that.