Hmm, I'm able to reproduce this problem with Arch Linux, using pipewire, pipewire-pulse, wireplumber, and Firefox. Were you using pipewire-media-session instead of wireplumber by any chance?
Also, an interesting note - if I install pulseaudio along with pipewire, I can get pipewire running by disabling and stopping all pipewire services, starting pulseaudio, playing audio briefly, then stopping pulseaudio and starting pipewire again. At that point I can see that Firefox is indeed playing audio through pulseaudio by using qpwgraph, and the audio plays correctly until next reboot. This "use pulseaudio to initialize, then switch back to pipewire" trick also works on Arch. I think this is almost certainly an upstream bug.