Del manual:
Entonces parece que InnoDB permite índices no únicos como candidatos para referencias de clave externa. En otra parte, el manual establece que puede hacer referencia a un subconjunto de columnas en el índice de referencia, siempre que las columnas a las que se hace referencia se enumeren primero y en el mismo orden que la clave principal.
Por lo tanto, esta definición es legal en InnoDB, aunque no es SQL estándar y me deja, al menos, un poco confundido en cuanto a las intenciones del diseñador original.