Очень хороший вопрос. Нет фундаментальной причины, по которой ссылочное ограничение не должно ссылаться на что-то кроме ключа-кандидата. Существует даже название для таких ограничений: зависимости включения. Внешний ключ - это просто тип зависимости включения, где целью ограничения является ключ-кандидат.
К сожалению, SQL не обеспечивает хорошей поддержки для зависимостей включения или вообще для ссылочных ограничений. SQL ограничивает свои так называемые ограничения FOREIGN KEY ссылками на столбцы ограничения UNIQUE или PRIMARY KEY (хотя это не обязательно ключ-кандидат).
То, с чем вы столкнулись, на самом деле является сомнительным ограничением SQL. Это не значит, что вы делаете что-то очень неправильное.