The mailing and click tracking reports are showing times in UTC. There is no PHP MySQL timezone mismatch - and
mysql -e 'select now()' and
date return the right times - as per timezone.
Mailing clicks and opens are registered via scripts in extern (which are quite old) - and don't appear to use the cms environment - as such if the timezone isn't set for php and has defaulted to UTC - this won't show in the warnings - despite it being the issue. To detect this compare the result of php To confirm this is the problem run
php -r 'echo date_default_timezone_get() . PHP_EOL;'
if the result is UTC - then you can fix by setting the date.timezone value correctly in your php.ini or similar file.
This won't resolve historical data but will mean clicks and opens in the future are recorded in the correct timezone.