Yes. aalt is supposed to only contain one-to-one substitutions.
There is no reason to have an exclude_dflt directive, because the feature starts with a script and a language statement. IOW, there is nothing exclude_dflt could exclude. Quoting the AFDKO spec:
There are two levels of default lookups. Rules specified between the start of a feature definition and the first script are added to all language-systems, unless a language statement specifies the exclude_dflt keyword. Rules specified between the occurrence of the script statement and the first language statement other than dflt are added to explicitly specified languages for the current script, but not to other scripts, nor to other languages of the same script that are not named in the feature. If your font has several languages for a given script, and you need language specific rules for only some of the languages, you should still explicitly name all of the languages so that they will inherit the script-level default rules.
There is no reason to do that unless you move frac after onum, but that would not make sense.
Many fonts only have one stylistic set, and for those cases, salt is automated that way. If you ant something else, you will need to deactivate automation, and code or script your own.
Should not be in a feature in the first place (hence not automated), because this is a problem of the input method and/or layout engine. Still, many fonts have something like this, and if you want to do something similar, please put it in dlig.