For example, say I soft fork the Bitcoin Core version before Taproot. This would be a "soft fork" because it’s compatible with everything prior to Taproot. Nodes are currently doing this now.
However, since transactions have already been mined with Taproot, if I add additional features to my soft fork that don’t include Taproot, then this is a hard fork. It is no longer backwards compatible with the longest timechain. Does that make sense?