after all, segwit was a softfork, that means everything that was valid before is still valid afterwards
This is not true, and in fact just reversed. A soft fork means that
old code will accept blocks/transactions following the new rules, i.e. valid blocks afterwards were valid before. Or put differently, you only
add new restrictions.
EDIT: Added the
part in italics to make the meaning clear.