The two points are linked. Scaling generally requires extensible code. If you make it too rigid, there's nowhere to grow. If you want a dinky little bonsai tree, then sure, strict and disciplined is the way to go. But we need something bigger than a bonsai tree, here.
If you propose painting ourselves into a corner, development-wise, but the devs have other ideas on that matter, guess what the outcome is going to be.
It's all building blocks. Incremental steps to better things. Try not to let this incident cloud the big picture.
Forward compatibility is a good thing and it has always been part and parcel of Bitcoin protocol. But there is a difference between leaving the protocol open for future improvements (like what we have in witness version 2+ or OP codes like OP_SUCCESS, etc.) and leaving the protocol wide open to abuse (like the removal of consensus critical script size restriction from Taproot and not even making it a standard rule, etc.).
The exploit used in the Ordinals Attack is proof of that distinction.