Firefox OS has exactly the same problem that Android has.
Android is open and free and all, but most of the devices out there don't give the user this freedom at all. Firefox OS has exactly the same problem - Mozilla does not enforce by any way that the officially branded FxOS implementation should be open. Most of FxOS phones to date, maybe except Geeksphone, are simply closed and need some ridiculous rooting or unlocking in order to just reflash them with newer version of FxOS.
Just look at GTA04/Neo900 (and possibly Freerunner too, but it would probably be massively underpowered) - you could run both Android (Replicant) and Firefox OS there without using any single line of closed source line - but that doesn't represent the usual customer experience for Android and FxOS branded phones. So where's the difference?
Anything is nice as a concept. In real world you have to make compromises. When the ball goes to proprietary-chip-maker's court you don't get to play with your rules.
Just like in any 3G USB dongle you attach to your PC (in fact, Neo900's modem operates in exactly the same way). For something as close to "free baseband" as possible, get a Neo Freerunner (or some other phone with TI Calypso) and install OsmocomBB - however, you won't be allowed to use it legally on public networks in most of jurisdictions in the world.