Thanks, the code now seems to work. It's possible to set a z_index on the label and also make it relative. I combined the two calls to visualserver:
extends Label
export (int) var z_index = 0
func _ready():
VisualServer.canvas_item_set_z_as_relative_to_parent(get_canvas_item(), true)
VisualServer.canvas_item_set_z_index(get_canvas_item(), z_index)
However, I found that I was wrong in my initial assumption that the original Label doesn't follow it's parent's "z-behaviour". It does actually. It was me wrongly putting the z_index on another subnode. When I changed it the label (the original type) now hides below other sprites when its parent node hides. Sorry...
But the new code may come in handy later, if a need arises to being able to put a z_index other than 0, on the Label.
Thanks a lot, learned something new :)