Hi Andrew. I'm a little confused by your message. I don't think you want to try to call 'numr' and 'dnom' with 'frac' -- at least for simple, prebuilt fractions like in your example. Your code seems fine for what you're trying to do.
It can be useful to "call" the 'numr' feature in 'frac' with arbitrary fractions. This is an example of what I mean:
feature frac {
lookup NUMR;
sub [@SLASH @FIG_DENOMINATOR] @FIG_NUMERATOR' by @FIG_DENOMINATOR;
} frac;
The 'numr' and 'dnom' features are starting to look unnecessary, since there is usually little reason to create numerators or denominators without creating a whole fraction -- which is what 'frac' does all by itself. So I recommend putting 'numr' and 'dnom' in fonts, but not consider them components or "sub-features" of 'frac'.