They still go into trap states. If you try to remove default transitions your source code complexity explodes.
Thinking about 'remove default transitions' - are you talking about using a particular state machine library? My default model is writing them. It's kind of like using a feature flag library when a hashtable with features for keys and boolean values will do. OK maybe use a library if the library adds realtime control etc, but not for the basic concept of flags - likewise a state variable and a single transition function work very well for state machines.
https://mitadmissions.org/blogs/entry/designing-a-calculator...
FSM don't help with the bugs. You need analysis on top to actually make a dent in the bug count