Ciao, come tu stesso dici, l'attributo rel ha una funzione semantica e chiaramente è scorretto usare dei valori a caso, così come lo è usare valori non consentiti.
Il caso di fancybox, che hai riportato, produce un codice non valido e, in quel caso, l'uso che si fa di quell'attributo è a tutti gli effetti scorretto.
https://www.gleenk.com/attributo-rel-e-html5/

Se si utilizza HTML5 si ha a disposizione il nuovo attributo data-, tant'è che anche in fancybox, dalla versione 2, è stato introdotto l'uso degli appositi attributi data-fancybox; vedi eventualmente la documentazione a riguardo. Presumo che nelle versioni precedenti si sia usato rel consciamante ma in modo improprio, magari con un occhio di riguardo verso la funzionalità del plugin piuttosto che verso la semantica del codice HTML.