When a link reference definition does not match any link reference, it is still treated as a link reference definition, but because there is no matching link reference, it will not appear in the output.
I agree that it would be worth being explicit about this in the spec. Could you put up an issue on jgm/CommonMark so I won’t lose track?