Dal manuale:
Quindi sembra che InnoDB consenta indici non univoci come candidati per riferimenti a chiavi esterne. Altrove il manuale afferma che puoi fare riferimento a un sottoinsieme di colonne nell'indice di riferimento purché le colonne di riferimento siano elencate per prime e nello stesso ordine della chiave primaria.
Pertanto, questa definizione è legale in InnoDB, anche se non è SQL standard e mi lascia, almeno, un po' confuso riguardo alle intenzioni del designer originale.