This is pretty much what I would do, too. Add those tags to a node, and sidewalk=both tags to all the roads, and you already have a good representation of the situation on the ground.
In my opinion, this unnecessarily complicates matters. Looking at the photo, this isn’t all that different from other pedestrian crossings. The special traits are that it 1) is raised, 2) has the same surface as the sidewalk, and 3) pedestrians have priority.
- can be expressed by combining it with the appropriate traffic_calming and kerb tags.
- can be expressed with a simple surface=paving_stones, if desired.
- isn’t possible to tag at the moment, as far as I know. But as you said yourself, pedestrians having priority is already the case for many crossings that are nevertheless tagged as highway=crossing nodes (e.g. zebra crossings).