Just to clarify, I think the topic is squash merge vs rebase merge.
I do prefer squash merge when possible and it doesn't create huge diffs. It's not always possible to split in multiple PRs though.
Generic squash as a cleanup tool, definitely, but that should be done during development.
Also I was not advocating to rebase merge every PR composed by multiple commits; if those commits are fixes on code that has been provided with the PR, those should be all squash merged