O Zdump reporta uma "transição" extra falsa no início e no final do intervalo de 32-bit time_t. Isso explica os valores de 1901 e 2038, e por que ele mostraria 7 transições em vez de 5. Também informa as traduções de tempo em pares - uma imediatamente antes e uma imediatamente após cada transição. Portanto, você ganha 14 em vez de apenas 7.
A propósito, você deve estar ciente de que o zdump não funciona iterando diretamente sobre o conteúdo dos arquivos zoneinfo, mas sim tentando vários valores time_t com a função localtime. Desta forma, funciona tão bem com os especificadores TZ do estilo POSIX como com os arquivos reais do zoneinfo. (Eu também modifiquei uma vez para relatar transições para fusos horários nativos do Windows, portanto, não depende de nenhum interno de zona de informações)
A razão pela qual todos os timestamps de sua ferramenta estão "no futuro" é porque você está interpretando erroneamente valores negativos (todas as transições de Pacific / Honolulu são anteriores a 1970) como valores não assinados.