Hi Matthew,
What about the Moodle location default timezone setting? What is it set to?
I used to have the same type of time discrepancies. I fixed them by setting my server computer time zone to UTC 0, my Moodle Administration > Site administration > Location > Location settings > Default timezone to America/Chicago and then setting my profile timezone also to America/Chicago. Then Moodle would show me times that corresponded to the correct local user time.