To recognize channels used for preload, the best solution is to fix CSP types, as mentioned in Bug 1624368 Comment 13. We are currently using them for identifying speculative loads using a suffix _PRELOAD, which collides with the actual
To make it more confusing, rel=preload is using speculative loading to start a preload. So we should have 3 CSP types for each resource type: regular, SPECULATIVE, _PRELOAD_SPECULATIVE. Whether to use only a _PRELOAD suffix or not is up to someone from the DOM team keeping the hand over these types.
Note that the _PRELOAD types need to be listed in nsContentUtils::IsPreloadType. For a complete list of changes possibly needed this patch may be a guide.