Yes.. you are right that we don't do the increment/decrement operation directly after initialization. But we certainly do the condition checking after initialization right?
Here the pre decrement operation is given where the condition checking is usually written. As I said the control flow should be the same i.e. for(A;B;C) the flow is
A->B->body of the loop(if B is satisfied) ->C->B->....
Here C is empty. B has the pre decrement operation. So it will be executed after initialization.