It looks like the declarative syntax only allows a single container to be declared. If I declare multiple containers, there's no syntax error or warning from Jenkins; but the build fails with:
java.io.IOException: Failed to execute shell script inside container [java] of pod [example-611rx-r29z2]. Timed out waiting for container to become ready!
...it appears to create whichever containerTemplate was declared last, and ignore previous ones.