Would you say that the word 'when' conveys or carries the notion of specificity in time and that could be the reason why both sentences can be accepted as correct?
more examples:
When you finish eating, take them to the sink and clean your plate.
When you have finished eating, take them to the sink and clean your plate.
I think it is more a matter of logical context. The speaker and listener recognize that when = after here, and the common sense of finishing the meal first, and then only afterward cleaning the dishes.
When you finish/have finished eating, have your napkin still in your lap-- here we see that when= by/atthe time, again through top-down reasoning, the common