I think you are measuring the time, not only for your interrupt, but also for all the interrupts that happened during your ISR because the interrupts were enabled. A ISR needs so many CPU cycles to complete. If the ISR gives away its CPU cycles by enabling interrupts, it will take much longer to complete than expected. The idea of enabling interrupts during an ISR is, in principle, not a sound engineering technique and, if absolutely necessary, should be justified on the basis of some special circumstances. For instance, a ISR that needs a timer during its execution, and therefore enables interrupts so that the timer-tick will happen, is broken by design.
Interrupts happen because hardware events have occurred.
The ISR must service those events only. An ISR that polls or waits for something additional to happen is broken.