How should I map and tag the area of a crosswalk?

Yes, maybe area:cycleway=asl should overlap area:highway=*.

Maybe this virtual gore should be an area:highway=traffic_island nested inside an area:highway=secondary:

A little redundancy is nothing new. The topic of this thread is adding a third representation of the same crossing while keeping its existing point and line representations. There are non-navigation precedents, too. These overlapping playing fields are marked out for different sports but they have the same surface: