Did you check the ZO_COLLECTIBLE_DATA_MANAGER object's function, maybe it provides that already.
Inspect it via zgoo or merTorchbug to see it's functions (maybe hidden below inheietd calsses at the __index metatables!).
Or check the ZOs code:
/ingame/collections/collectibledatamaneger.lua
https://github.com/esoui/esoui/tree/...me/collections
It says as comment e.g. EVENT_COLLECTIBLE_UPDATED fires when a nickname changes or a collectible is set as active/inactive. It does not encompass unlock state changes.
This calls ZO_COLLECTIBLE_DATA_MANAGER:OnCollectibleUpdated
So maybe check that func where it write the active colelctibles to and read it from there.