I’m not sure why you revived a topic over a year old to say that, but I have some things I want to explain.
I’m not even sure why you are saying this, because scratch games can be extremely easily packaged into executables, using Turbowarp packager. While it is pretty simple to turn a makecode game into an executable using @UnsignedArduino 's thingy, it takes much more setup.
Not every microcontroller can decode and play wav audio samples and run makecode arcade at the same time, not to mention the insane amount of RAM it would take. Makecode is designed to run on incredibly weak devices with less than 100kb ram, and even simple games run pretty slow on them. My Adafruit Pygamer can hardly even play music using the kinda new song editor. Not to mention that a lot of these devices have some pretty terrible speakers, sometimes even piezo buzzers.
If your goal is to publish a game commercially, you probably shouldn’t be using makecode arcade to make it, a game engine like Godot can do anything makecode arcade can do and more, you can even code a godot game to look exactly like a makecode arcade one! But if for some reason, you have to use makecode, there are actually some ways this can work.
The first way is to use some converter and actually use makecode arcade to play the sounds, but just warning you, it will sound pretty bad: Voices in MakeCode!
The only alternative is to play the sound outside of the game, but it takes custom html and it only works in github pages. I have a tiny demo thing, but it just plays music in the background, and you can’t control it. You could probably use simmessages to communicate with an external html or js sound player, but you would need to know a lot about what you are doing to do that: https://brohann3214.github.io/forinvalidproject/ (you have to click on the game for the music to play)