The class NDetF is more expressive than the class DetF, hence, there are NDetF automata that cannot be converted to a DetF automaton. This is explained in the slides and also examples were given where the subset construction computes an automaton that is not equivalent to the given NDetF automaton. Sometimes making the NDetF automaton gives an equivalent automaton, but not always. So, you have to check whether the automaton you got with the sink state is equivalent to the original one. If so, you can apply the subset construction since that construction is safe for totally defined NDetF automata, but not for all the others.

If you add a sink state to the automaton you described, it will accept also any word a(!a)(!a)... which are words that are not accepted by the original automaton. Hence the subset construction does not work here.

The alternative to convert NDetF to NDetFG and then applying the breakpoint construction is always correct, thus maybe preferable, but you get more states by the breakpoint construction and the conversion from NDetF to NDetFG also introduces further states.