No, you couldn't connect signals through the interface in that case, what we're doing is different.
When you connect a signal through the editor, it's always connected, and the node receives callbacks, even if the state should be inactive. We don't want that to happen: only the active state should run code, otherwise we can introduce nasty bugs in our game (and that kills the purpose of the state pattern).
What we're doing here is that when a state becomes active, it connects the signals it needs to work properly. As soon as another state becomes active, it disconnects all its signals. That way, each state can only receive signal callbacks when it's active.