you play the sound and immediatly destroy the object with queue_free
you have to wait until the sound is done playing and then call queue_free or let the sound play form another scene.
use the signal finished() of the audiostreamplayer2d then call queue_free
or
use the property playing of audiostreamplayer2d to check is the sound is done playing