is a read/write from/to an uint8_t atomic?

You won't lose a millis() tick in 560uS - the interrupt is queued.