Yet the development community prefers a much stricter set of criteria-- perhaps call it "safe soft-forks", where at least no widely used or recent software prior to the fork will inadvertently initiate a fork which is invalid with respect to the new rule.
it seems disingenuous to describe the bolded behavior as a soft fork imo. it would be clearer to simply call the "safe" soft-fork plainly soft forks, and to popularize the "new rules can invalidate old rules" behavior as a... "permissive hard fork" is the expression that occurs to me from the top of my head. Maybe it's the wrong expression in some ways, but it's less misleading than the "impermissive" soft fork. If segwit had been implemented in such a way that, for instance, invalidated a common pre-fork consensus parameter, there would have been a least some orphaned blocks on that basis (and more likely an entire chain split, and a very likely failure of the segwit compliant fork). I am aware of no such event happening.
more simply; if a self-described soft fork can potentially produce a hard fork, then we need better words to describe what's really going on