Thank you again for maintaining this critical discussion. While we have rightly focused on the stacking inconsistency, I would posit the root issue is the fundamental disagreement on how a Trait (like Unholy) is factored into the damage calculation flow.
To reiterate 3 schools of thought for where the Traits (like Unholy) are factored:
~~~
X. Traits get their own bucket (weakness/resistance only).
Y. Traits get factored into ALL damage type buckets.
Z. Traits get factored into one specific damage type bucket(s).
~~~
At present, it appears Foundry VTT PF2e system developers have implemented Weakness consistent with Approach X (arguably Z), but Resistance is consistent with Approach Y. I believe this disparity should be resolved.
IF we consider ... Approach Z (a Single Damage Type Bucket)
Using an example I previously provided:
~~~~~~~
A Daemon with the following attack:
* Jaws (unholy): Damage 1d8+12 piercing + 1d6 cold + 1d4 poison;
Rolls 15 piercing + 5 cold + 5 poison damage (25 total damage)
~~~~~~~
IF... a Trait is to get applied to a Single "Damage Type" Bucket,
THEN... there's immense difficulty in us trying to figure out into which "Damage Type" the trait should be applied.
~~~~~~~
* In the example above, into which bucket would it be assigned: Piercing, Cold, or Poison?
* Is there a rule that forces a trait to be assigned to the damage type that dealt the most damage?
* Because there is no clear rule for this assignment, we should likely take Approach Z off the table and focus on the two main conflicting approaches, X and Y.
~~~~~~~
* IF... you said ALL 3 (Cold, Poison, and Poison)
* THEN... you'd ascribe to Approach Y.
~~~~~~~
* IF... you said NONE, a trait only gains a numerical value if there is a corresponding Weakness,
* THEN... you'd ascribe to Approach X.
~~~~~~~
The problem with how Foundry VTT PF2e system developers have interpreted matters is that they used
* Approach Y for Resistance (i.e., that it applies to all "damage types")
...BUT...
* Approach X for Weakness.
At present, in Foundry, Resistance 5 vs a trait does *not* cancel out Weakness 5 to that same trait.
~~~~~~~
* IF... we consider Approach X,
* ANDIF... the ONLY time there's a conversion
-- FROM: A trait (e.g. Unholy)
-- TO: A trait with damage type numerical value (e.g. Unholy 5) is when there is a Weakness present
* THEN ... does it also make sense that the only time resistance with a numerical value kicks in is if there is a numerical value to reduce in the first place?
If so, then this would mean that affixing a polished demon horn spellheart to your armor - granting you resistance 5 vs. unholy - gives the wearer no benefit UNLESS they also possess an unholy weakness.
If an attack does not do unholy damage in the first place, then there is no damage type value to resist.
~~~
This interpretation means the item's benefit is strictly conditional. The Polished Demon Horn Spellheart would function not as a standalone defense against unholy attacks, but as a mechanism to cancel out or mitigate a pre-existing Weakness to Unholy that the wearer may have (such as that often possessed by an angel or another celestial creature).
In this view, the item is not a general defense against Daemons, but a highly specific Weakness Countermeasure.
~~~
Food for thought.
Again...
~~~
Paizo, we urgently need clarification here.
* Release an Errata to make Weakness & Resistance consistent with Approach X
...OR...
* Release an Errata to make Weakness & Resistance consistent with Approach Y
...OR...
* Overhaul Trait Weaknesses/Resistances altogether.
~~~
If either Approach X or Approach Y were adopted consistently for both Weakness and Resistance, the statistical imbalance would be resolved (a Weakness 5 and Resistance 5 would cancel out).
~~~
Alternatively, if there are any Foundry VTT PF2e system developers out there reading this, please recognize the logical flaw of applying Resistance (Approach Y) when Weakness (Approach X) is used.
Reticence to change thus far has been because Paizo has not offered clarity... for over a year now.
Perhaps you might consider introducing an option for GMs to be able to toggle between the approaches rather than make the decision for us.
Thank you for your consideration!