I have read a thread about correct order in this forums (I cannot find it now). From developers’ comment, they recommeded to use the first way you mentioned above.
I would argue it depends on your “workflow” as both approaches yield the same result as others already said.
I personally prefer the first approach due to my mindset of
“new iteration -> new gradients -> get rid of the old ones”.
Otherwise I’ve sometimes forgotten to zero out the gradients.