Set a node on the highway where the transition is and add highway=crossing + crossing=marked.
If the crossing is also mapped as a way, tag it as highway=footway footway=crossing crossing=marked or highway=cycleway cycleway=crossing crossing=marked as appropriate.
Doesn't that violate the principle of One feature, one OSM element? For example, here's a crossing from where overpass-turbo defaults to showing:
Shouldn't that be one or the other? It makes sense to me to represent the crossing as a way with all the tags, and leave the intersection untagged. I noticed though that StreetComplete doesn't really like that, and will give you quests to add tags to the intersection node even if the way is properly tagged.
As far as I understand it, the node is more useful for car routing, since it marks the exact point on the road where the intersection crosses, while the way is more useful for pedestrian routing, where the actual path to be traveled is more relevant. I agree that it seems redundant, but for all I know, car routers might totally ignore any pedestrian footways, which would prevent them from filling in the crossing data on the fly.