After further investigation, we concluded that even though the correct version of the puppet-npm package is now being installed on the undercloud, the overcloud is still hitting this error if you use the puppet modules from source. There are two possible workarounds for this:
1) Use the pre-built images instead of building custom images
2) Build custom images, but don't use the puppet modules from source for this (don't set DIB_INSTALLTYPE_puppet_modules=source before building images)
After further investigation, we concluded that even though the correct version of the puppet-npm package is now being installed on the undercloud, the overcloud is still hitting this error if you use the puppet modules from source. There are two possible workarounds for this:
1) Use the pre-built images instead of building custom images _puppet_ modules= source before building images)
2) Build custom images, but don't use the puppet modules from source for this (don't set DIB_INSTALLTYPE