westnordost
I also noticed railway=tram_crossing. SC only asks about railway=level_crossing, so this would "solve" the issue in that case. However, I do not think that tag is such a good idea:

Any smart router software will penalize road sections (for ETA) that cross a railway line (except maybe trams, or less so), regardless whether railway=level_crossing is tagged or not, because any data consumer must expect the OSM data to not be complete, i.e. that tag cannot always be assumed to be set.

Tagging tram lines as light-rail lines will thus cause these crossings to be  wrongly penalized and it would require **additional** software support to revert that particular behavior - i.e. if railway=tram_crossing or railway=level_tram_crossing is tagged, treat the light rail railway as a streetcar railway instead.

So from a software point of view, it's better to have tagging schemes that are backward compatible. E.g. don't have situations that apply EXCEPT if a certain newly invented tag is set but the other way around. So for example if there is a streetcar line and at one point there is an actual real crossing - with barrier and all - tag this exception to the common expected case.