That's a bit of an oversimplification. Soft forks add new rules, yes, but those new rules can offer all sorts of previously unavailable transaction types and templates, provided that they are still within the original consensus rules.
It is in this way that Segwit can not only create a new transaction type which addresses transaction malleability, but can also increase the block size without breaking consensus.