Bon j'ai fini par trouver, ça venait de chez moi en fait. Deux bugs empilés :
NetworkManager gérait ma connexion PPPoE en ipv6.method=link-local, ce qui force noipv6 côté pppd sans que ça se voie IPv6CP ne négociait jamais réellement, malgré une link-local présente qui donnait l'impression que ça marchait. Passer en ipv6.method=auto a débloqué ça. Une fois débloqué, le Solicit partait bien et vous répondiez correctement avec l'Advertise (/48 bien présent dedans), mais dhcpcd n'envoyait jamais le Request qui doit suivre. En regardant le code source, dhcpcd (10.3.2, celui packagé sur Fedora) ne revérifie si un Advertise est arrivé qu'une seule fois à un instant précis du cycle — s'il est un peu trop tôt, il ne redemande jamais, d'où le Solicit qui boucle à l'infini sans jamais passer à l'étape suivante.
J'ai laissé tomber dhcpcd et je suis passé sur odhcp6c (paquet Fedora aussi, c'est le client d'OpenWrt) — la PD remonte correctement en quelques ms, sans souci.