Yes, see tree_exiting
and tree_exited
here - https://docs.godotengine.org/en/stable/classes/class_node.html#signals
However, depending on your code structure, it may be best to just have the node that's being removed use a custom function like the following:
func terminate():
emit_signal("terminate_initiated")
queue_free()
Although this code will emit the signal before the node is actually freed, so if you require a signal to specifically be emitted afterwards, then tree_exited is probably your best bet.