A 20 MB 3.5 minute .flac file takes ~200 ms to decode into a 35 MB .wav on my desktop, so in principle the program could spend a small fraction of a second placing the decoded audio into a small buffer and give a pointer to hardware to keep playing it while the rest of the system goes to sleep for a few minutes. Or if the hardware has direct support for the codec, it could just give it the file as-is.
Since pulseaudio defaults to software mixing, this huge buffer would just get gradually copied to the actual kernel playback buffer one 25ms chunk at a time..
I believe even Debian defaults to PipeWire instead of PulseAudio, so I doubt there are many systems left using PA.