ADIF is set first or ADSC is cleared first?
ADIF is the interrupt flag. Unless the associated interrupt is enabled, you need to specifically clear that flag as you’ve mentioned. ADSC is the conversion complete flag. Which is set first? Probably both as one would think there would be only one mechanism internally to flag completion.
I’ve always used ADSC. ADIF is used by those that don’t read the datasheet.