The Yarn PNP mechanism uses loaders and/or registration for CJS and ESM support.
Presently using -r .pnp.cjs works appropriately in AWS SAM but using --loader runs into a host of issues as detailed in:
yarnpkg/berry#6604
I'm not clear why the two are not working together, as they work in other contexts - but in the AWS SAM index.mjs it seems that the tryRequire path goes through a route where pnp.setup(); is unable to monkey patch calls once it is working within the CJS loader by route of the ESM loader.