Sua melhor aposta, na minha opinião, é dizer ao MySQL para usar GMT e lidar com todos os problemas de hora local no código do aplicativo, não no banco de dados. Os valores no banco de dados sempre seriam GMT, ponto final, o que não é ambíguo. Como você disse, com os ajustes do horário de verão (horário de verão), você pode acabar com o mesmo valor em seu banco de dados para o que é, para nós humanos, dois horários diferentes.
Isso também torna o banco de dados portátil. Se você se mudar para a América do Norte e começar a usar o MySQL definido para (digamos) hora central, de repente os valores em seu banco de dados parecem ter se movido várias horas. Eu tive esse problema com um banco de dados que herdei que estava usando a hora local do servidor:Quando o mudei da costa leste dos EUA para a costa oeste, sem pensar em verificar se o MySQL estava configurado para usar a zona da máquina ...