as long as the auxiliary gates used to prepare the flip flops for next count meet set up and hold times before the next clock pulse, there should be no race conditions
same issue applies to an asynchronous counter, by which i mean a ripple counter
in this case, you also have to include the time for the rippling through each flipflop
depending on length of counter, the last bit to change can be a significant amount of time between first bit and last bit changing
compare the logic diagrams for an LS393 (4 bit ripple counter) and LS163 (4 bit synchronous counter)
they both do the same thing
BUT
the '393 appears to have a lot less auxiliary parts but they are burried in the toggle flip flop.
but each stage has a clock derived from the prior stage, so the bit ripple through - the bits change in order, one after another
the '163 has a lot of auxiliary gates that handle things like loading data into the counter, clearing and enable-ing
but all the clock inputs are the same, so the bits all change at the same time
yes i know, these parts are almost as ancient as i am, but i've used them in the past, and i'm familiar with them and their documentation