Yes, my understanding is that's how Unicode would have you interpret each of those.
So the problem then becomes that running NFKC on the latter produces the former: a nonequivalent string, therefore erroneous output. The correctly decomposed form of "12\N{VULGAR FRACTION THREE EIGHTHS}" would be, I presume, "12\N{ZERO WIDTH NON-JOINER}3\N{FRACTION SLASH}8". (Whether this is a bug or merely a "gotcha" in NFKC I suppose is a matter of interpretation.)
But point taken that context matters when composing vulgar fractions.