Where should an ISR be declared in a library?
The ISR belongs in the .c file. It's a function that directly generates code that's linked into the executable (that is, it isn't an inline-only function), so that's where it goes.

The ISR shouldn't be called by other functions, so it does not need a declaration in the header file.