It comes down to the difference between an Event (something that happens once) and a State (something that is ongoing).
Here is the breakdown of why the Engine sound is the "Exception to the Rule."
Think of the sounds in your game like household items:
The Laser/Explosion (Doorbell): You press the button once, and the sound plays to completion ("Ding-Dong"). You don't hold the button down to sustain the "Diiiiiiiiing." Even if you walk away from the door, the sound finishes.
Global Manager handles this best: It plays the clip and cleans it up when done.
The Engine (Vacuum Cleaner): The sound only exists while you are holding the button. The moment you let go, it must cut off immediately.
Local Node handles this best: The sound needs to be tightly coupled to your finger pressing the key.
If you put the Engine sound in the Global Audio Manager, you run into a serious logic trap when the player dies.
Scenario: You are holding UP (Thrust) to fly away from a UFO.
Action: The UFO shoots you. Your ship calls queue_free() and disappears.
The Bug (If Global): The Global Manager doesn't know you died. It just knows you told it to "Start Engine Sound" 2 seconds ago. So, even though your ship is gone, the empty space where you used to be continues to hum with an engine noise until you respawn.
The Fix (If Local): Since the AudioStreamPlayer node is a Child of the Ship, when you queue_free() the Ship, the Sound Player is deleted too. The silence is instant and automatic.