Yes, using a hook is optimal. But when reading repos without a style guide or formater, “pretty diffing” makes it easier to review.
Another use case is when you encounter that giga god-commit “added formater” which touched all lines in all files.
If you take this even further, you can tailor to anyones style taste, formatting on check out instead of check in. That leaves the stored code as a serialization format the compiler understands. Viewed code is in whatever format the programmer likes.
Since diff is used to make patches it could ruin things I imagine..