The problem is that pre-commit hooks are much slower with a much higher false-positive rate than type checking.
Pre-commit checks should be opt-in with CI as the gate. It's useful to be able to commit code in a failing state.