Here is how I see it: everybody likes a nice linear history. Fat trees with lots of merges are difficult to follow and thus not so useful, which is a good reason to merge less, at least in the public history.
The test-merge way of working is one way to do it: you make modifications, test-merge, make modifications, test-merge, make more modifications and perhaps make a final merge or even rebase.
That would be fine if nothing relevant happened during those merges, so that you could have just as well not made them.
I agree with you though, that relevant merges, where you needed to fix or change something, could (should?) stay in the history.
As usual moderation should be the way to go. The great thing about git is that you have a choice.