Résolu !
La suggestion d'Arturs Licis était la clé. D'une manière ou d'une autre, le pilote mysql avait été téléchargé de manière incorrecte. Cela semblait être un fichier .jar, mais n'a pas pu être chargé. Tomcat n'affichait que le premier niveau de l'exception :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[...]
Mais lorsque j'ai codé un helloworld très simple avec Class.forName("com.mysql.jdbc.Driver"), l'erreur suivante s'est affichée à la place :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[...]
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
[...]
Eurêka ! L'ouverture du fichier .jar sur WinRar montre qu'il peut être ouvert... mais avec quelques erreurs.
Le téléchargement à nouveau du pilote a résolu le problème.
Downvote pour moi :-(