Faaaala pessoal!!!
Achei que a resposta nos induziria a testar horas como: 29h, 26h etc. Então, tentei "fechar" mais a validação da hora conforme abaixo:
[2](?=[0-3])\dh|[0-1][0-9]h[0-5][0-9]min[0-5][0-9]s
Observa que eu usei um | que é o "ou" para o tratamento de horas que iniciam em 2. Essas horas só podem ser seguidas de 0-3 no segundo dígito, caso contrário são horas inválidas. Ou indo de 0-1 permutando com 0-9 (16, 17, 19 etc).
Dessa forma, minha regex passou e previniu horas como "28, 26, 29" etc.
Alguém colabora com outra solução / melhoria?
abs!!