Okay, so it turns out that connect() accepts certain flags, such as CONNECT_PERSIST.
Using this flag solves the problem, displaying the icon and preserving the connection when reloading the scene.
For example:
my_node.connect( "signal_name", my_node, "my_function", [], CONNECT_PERSIST );
The fourth argument is an empty array for the parameter list, and the fifth specifies that the connection is to be permanent.