Not sure I'm following you. Where are p2 and p3 coming from? What do you mean by "This also had nothing relevant to the config actually inside of my package". Can you show exactly what your web.release.config.transform looks like (in a minimal
scenario that demonstrates the issue)?
The instances of P2 and P3 were created when the transform was installed into the project. That <section name="userOverride" xdt:Transform="Remove" xdt:Locator="Match(name)" /> was part of the current project's release.config. It was an existing line.
In my nuget package there is absolutely nothing about userOverride. However when I installed the package it mutated that line to the <section name="userOverride" p3:Transform="Remove" p3:Locator="Match(name)" xmlns:p3="http://schemas.microsoft.com/XML-Document-Transform"
So nuget was changing my file all over the place on config sections that had nothing to do with the nuget package that was being installed after I made the
nuget web.config.release.transform file start as <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
Apparently the XML processor has some major issues when it wants to merge the files when the .transform file defines xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" and so does the release.config, that it alters all of the original usage
of the xdt: identifiers and creates new ones, the P2, and P3.