Do manual:
Portanto, parece que o InnoDB permite índices não exclusivos como candidatos para referências de chave estrangeira. Em outros lugares, o manual afirma que você pode fazer referência a um subconjunto de colunas no índice referenciado, desde que as colunas referenciadas sejam listadas primeiro e na mesma ordem que a chave primária.
Portanto, essa definição é legal no InnoDB, embora não seja SQL padrão e me deixe, pelo menos, um pouco confuso quanto às intenções do designer original.
Página do manual aqui .