These edge cases make it extremely complicated to formulate a simple rule that creates a fair outcome in most scenarios. I would support keeping the rule as is. Changing the result of a call depending on what the additional consequences would be makes a lot of sense to me.
An accepted receiving foul in the endzone most closely matches catching the disc somewhere close to the endzone. That covers all the edge cases and still guarantees that the offense gains the respective meters. As Conor Hogan pointed out: teams will be more likely to contest the impact of the foul on the play, if it results in a score. And I agree the reality of play should be taken into some considerations when the rules are written.
And another difference here is: a receiving foul is treated *like* a catch. A strip only happens after the disc has already been caught. A caught disc in the endzone leads to a score (unless you lose control due to ground contact). That should be reflected in the outcome.