I don't know about the others, but for me, it's like muscle memory after a few years of C++.
First, you have to take into account that not everything that accepts "++" is a number. It may be anything, and in particular it may be an iterator, which is very common.
Now, you have to consider that "++variable" is not the same as "variable++"; they are two distinct operations with their own behaviour. So, "++variable" increments in-place, but "variable++" returns an anonymous copy of "variable" and then increments "variable". It doesn't seem like a big deal when you're doing a standalone increment (i.e., not assigning "++variable" or "variable++" to a result, which has different behaviours because the result won't be incremented in the second case), and indeed the result is the same, but the preincrement doesn't create a copy, while the postincrement does. So, preincrement is more efficient (especially if the copy is not trivial, if it's inside a loop, or both. The second case is the most frequent). It's a micro-optimization (which means that you won't speed up your code by 200% by doing this) and many compilers will probably do the fastest thing if you use postincrement and do not assign the result, but it doesn't have any downside. And, like I said in the first sentence, it becomes muscle memory quickly. I've ended up doing it in all C-like languages, but I'm not sure if there are differences in anything that isn't C++. I certainly hope there isn't any downside.