One interesting quirk that seems to be limited to ARM64 Linux version only (it doesnt happen on Ubuntu under WSL2) is that the game will crash after hitting the heart with this error:
ERROR: Parameter "data.tree" is null.
at: get_tree (scene/main/node.h:507)
It seemed to be related to this piece of code for whatever reason.
await get_tree().create_timer(1.0).timeout get_tree().change_scene_to_packed(ending_scene)
It could be perhaps some timing issues, I have seen something similar before, though in Game Maker and not Godot.
So I got around it by sandwitching this between those 2 lines.
if not is_inside_tree():
return