We even had a PFE on site who was unable to determine the cause. Eventually, I did a clean, generic, click-click install of the AppV client on a non-domain system (to exclude GPO's). I manually copied the .appv and .xml over and added/mounted/published the package via powershell with the dynamicconfiguration.xml and I saw my missing registry keys! hurray!

I then took the registry values from our non-working system and compared them to the working system. Adding in keys from the non-working system to the working system until it failed I came across the following culprit:NoBackgroundRegistryStaging REG_DWORD 0x1
When that value was set to 0x1 the registry keys from the dynamic xml file would not apply. If it was deleted or set to 0x0 then the keys applied without issue. I had originally added this key from this article:

But it appears that article didn't specify the full impact of adding this key. Steve noticed that CPU utilization was lower when publishing applications with this key set, but it appears that could be because XML processing on the dynamicconfig.xml isn't happening. Because of this removal of this great feature to add keys after package creation I would recommend removing the NoBackgroundRegistryStaging key.

Notice the Foo and EmptyKey. Those keys are set via the dynamic.xml fle.