Reaction score: 14,037
Poudriere uses jail(8), a lot. Each build job is set up from a clean jail. This 'limitation' is because a jail runs on the host's kernel. The host kernel can only support up to version X, running a X+1 userland will cause problems. There's backwards compatibility, not forward.
To run 12, 11 or other, previous version jails (or executables in general) you need to have a kernel with the COMPAT_FREEBSD12, COMPAT_FREEBSD11, etc. Just in case you decide to build a custom kernel and remove all those. The GENERIC kernel has them enabled by default.