I tend to agree with how you defined Smurf, but there doesn't seem to be a consensus. I've certainly seen people throw the term around simply to describe innocuous and unavoidable situations such as the ones you described, in which a player is simply experienced at the game.
It's unfair for people to suggest that those players are doing anything wrong. The situation usually resolves itself very quickly anyway because of the elevated k-factor.
Furthermore, there's a relatively easy way to reduce the harm done by Smurfing: Use a reduced k-factor for the Elo result of an established player (more than 20 completed games) playing a game against a non-established player.
On at least one other site I've played on, if an established player plays against a non-established player, the established player's Elo change is multiplied by N/20, where N represents the number of games the non-established player has completed.
In that situation, established players wouldn't be risking Elo when playing a "beginner" who is actually skilled. Which makes sense, for the same reason beginners get the elevated k-factor. We don't yet know the true ability of the non-established player.
Factor in that a player's Elo never goes below 100 once 100 is reached, it seems even more bizarre to me that an established player who has an Elo of, let's say, 300, would incur an Elo loss assigned to an Elo difference of 300 when losing to a new player who 0 games completed and 0 Elo. If an artificial floor of 100 Elo is going to be set, then use that same floor when calculating Elo changes in games against such players.
This would also make people more willing to play against new players, something I generally avoid.