Ci sono casi in cui hyperref debba essere caricato dalla classe, che con opportune opzioni lo può chiamare in un modo piuttsot che in un altro; la soluzione è quella di usare un caricamanto ritardato per esempio con \AtEndPreambele, oppure con \AtBeginDocument o forse persino \AfterEndPreamble (ammesso che \usepackage si possa usare anche after end preamble.
Penso per esempio al caso del caricamento del pacchetto che serve per comporre i file secondo lo standard PDF/A e le correzioni che bisogna fare, solo in quel caso, nella classe per rendere i font matematici compatibili con quello standard. La cosa deve essere fatta nella classe sotto condizione dell’opzione che si vuole seguire quello standard, ma non si può lasciare l’utente nell’incertezza o nel dubbio o nella falsa sicurezza che avendo specificato l’opzione alla classe tutto sia già a posto.
In ogni caso \hypersetup si può sare quando si vuole, sia dentro la classe sia dentro il documento, quindi le opzioni da passare ad hyperref non creano un problema.