Happy New Year!
I'm going to hazard a guess that fuel cells are one of those technologies that's a lovely idea in search of a big-time application approximately forever.
They work. They're quiet, mostly. Their emissions (when fed neat hydrogen) are water, period. Their range is limited by the practical size of the hydrogen tanks and the pressure used, but is still considerably more than currently practical battery systems (though much less than a comparable diesel). They can be "recharged" quickly (minutes to tens of minute, rather than hours for a battery), which matters a lot when that needs to be done at least once during a day's work shift.
When fed electricity and water at off times, fuel cells can even be made to work "backward" to refill the tanks with hydrogen (though the compression needed to fill the tanks plus the efficiency of the process means that much more energy is used to "recharge" than is returned when operating).
That said, I still see them as a niche item, applicable mainly to remote, light-traffic passenger lines that for one reason or another aren't covered by buses. Europe has a bunch of those, where DMUs or diesel light rail ordinarily provide the service but the traffic doesn't justify stringing wires and going straight electric. They're few and far between in the US, and where the distance covered makes battery-electrics impractical. Fuel-cell electrics can provide the local emission reductions of battery- or straight-electric, compared to diesel, and be easier to manage on a daily basis due to the quick refueling. What they don't give you, compared to battery- and straight-electric, is the full-cycle energy efficiency, which is better than diesel but not by a lot.
A couple of European builders make DMU/light rail vehicles that have modular power systems. They can accommodate battery, fuel cell, and straight electric, as well as diesel-electric, without changing the overall structure of the vehicle. Those are available as regular production options, not special builds. Most of them sold use the non-fuel-cell options. Primary example:
Stadler's FLIRT