Originally debugged here: https://github.com/juxt/pack.alpha/issues/64
Reproducible script (run with ./script.clj)
What I remember from my analysis: tdeps uses a class to load up a service container in maven somewhere. This class will populate a bunch of classes that are required for common maven usage into the service container. However, due to maven-aether-provider providing one of the classes (and winning out over the version that tdeps expects) but using a different inheritance, when tdeps later tries to get the version resolver, it is unable to find one due to the class not being the one it expects (and the service locator finding things by class / inheritance). Eventually this means a null service, and trying to do interop with that results in an exception.
(some of these details may be slightly incorrect, but I'm confident the bones of it are correct).
I did note when testing that using the latest version of maven-aether-provider the exception did not occur, but I haven't tested that pomegranate is still functional with that change. There are more up to date versions of pomegranate which may have updated dependencies and work correctly with tdeps.