I think I'm getting closer to figuring out what's happening with my broken Jenkins, and it's interesting. Having reconstructed the Stylesheets-dev job from scratch, I've discovered that instead of the old system of creating filesystem aliases pointing at the last successful build, jenkins now simply maintains a text file called builds/permalinks which looks like this:
lastFailedBuild 2 lastStableBuild 3 lastSuccessfulBuild 3 lastUnstableBuild -1 lastUnsuccessfulBuild 2
and then the Jenkins web interface uses that information to make the artifacts available for download. However, there's now no filesystem path to retrieve them, so when the downstream job tries to run Ant with -DXSL=/var/lib/jenkins/jobs/Stylesheets-dev/lastSuccessful/archive/dist/xml/tei/stylesheet, it fails, because there's no such path.
I'm not sure whether this is due to a change in Jenkins itself, or a change due to a plugin update, or something else. It happened some time after June 19. I know this because if I look at the stable Oxygen plugin build, I see that the "lastSuccessful" filesystem link is pointing at build 19, but in fact both build 20 and build 21 were successful. That means that anything depending on those filesystem links may not yet know that they're broken (pointing at old builds); only when the old builds have eventually been deleted would the links point to nothing, and a dependent build then fail.
My Jenkins version is 2.189, whereas the other two TEI Jenkinses are both 2.176.2. So it's possible that my Jenkins is providing a useful warning for something that in due course will happen to the others as well.
It's also possible that it's some kind of sporadic bug that affects some Jenkins installs and not others. There is a report which looks similar from some years ago:
I'm still investigating... 120 minutes...