Resolvido!
A sugestão de Arturs Licis foi a chave. De alguma forma, o driver mysql foi baixado incorretamente. Parecia um arquivo .jar, mas falhou ao carregar. O Tomcat estava mostrando apenas o primeiro nível da exceção:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[...]
Mas quando codifiquei um helloworld muito simples com Class.forName("com.mysql.jdbc.Driver"), o seguinte erro foi mostrado:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[...]
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
[...]
Eureca! Abrir o arquivo .jar no WinRar mostra que ele pode ser aberto... mas com alguns erros.
Baixar o driver novamente resolveu o problema.
Downvote para mim :-(