OK, looks like I got this wrong.
We did have the right version of asm on the build classpath, but the latest version of Jackson embeds Java 17 and 21 classes under its META-INF, which couldn’t be parsed by shadow when running Java 11. Excluding those has prevented the error from being thrown.