absent_over_time(...) produces labels in some circumstances, but not in others:
I presume your expression is also one that has no labels, because otherwise the "OR" condition wouldn't work.
Anyway, this seems to work:
label_replace(vector(0), "foo", "bar", "__name__", ".*")
Or maybe a recording rule is cleaner.