"Null" is not the same as "0", but means "empty, not defined". So the value wasn't assigned yet when you tried to print it. To make sure highScore has a value from the beginning, try the following:
func load_data():
var file = File.new()
if file.file_exists(save_path):
file.open(save_path, File.READ)
Signals.highScore = file.get_var()
file.close()
# make sure to assign a default value in case anything went wrong before
if typeof(Signals.highScore) == TYPE_NIL:
Signals.highScore = 0
func _ready():
load_data()
print(Signals.highScore)
Now you should see "0" (or some other number, but not "Null") in the output, and saving should work as well, correct?
By the way: Feel free to reply in German if that's easier for you.