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:

However cycleway=asl is bad, as it makes cycleway= as a feature, and doesn’t really consider motorcycles properly (even if =cycleway + motorcycle=designated , or cycleway:*:motorcycle=designated , is allowed) . Shouldn’t invent another area:cycleway when there’s already area:highway= . Talk:Tag:cycleway=asl - OpenStreetMap Wiki
area:highway=traffic_island should be separated, as they aren’t part of the carriageway. Besides sidewalk:*= , parking:*=street_side (=lane could be debated) was already suggested to be split out in the proposal, so shoulder:*= and cycleway:*:buffer:*= should follow.
Furthermore, while there is bare minimal physical separation from the pole to justify drawing separately, this isn’t a =traffic_island . Marked/flush/traversable islands was first suggested as =emergency , and I concur with one such =buffer idea to match with cycleway:*:buffer= . What's the traffic_calming=island area?