I agree that two-stage commits is a great feature to have. But there are downsides to making it the default.
Obviously, it trips beginners up.
And it encourages committing stuff that may never have coexisted in the working tree - and thus have never been tested together.