Thankyou for restating something I am perfectly aware of.
OSM globally should not be interested in providing vagueness for legal disputes. This project is best-effort data trying to capture something that is verifiable on the ground, in this case, two numbers written on a sign for maxheight:legal.
By analogy, where you are expressing multiple legal restrictions as a tag, tag the smallest legally restrictive value into maxheight:legal. Do this just as you would tag the most physically restrictive - smallest - height you have personally surveyed into maxheight:physical.
Then when that’s done, put the smallest of maxheight:physical and maxheight:legal into maxheight, verbatim or converted.
Note that if it is desirable to establish a difference between a legal and a physical maxheight, this [maxheight] should be the lesser of the two.
– https://wiki.openstreetmap.org/wiki/Key:maxheight
Fine if this can be done with specific editor support allowing people to gather the info very conveniently, with particular reference to StreetComplete and SCEE. Otherwise, a note suffices for all but pedants, and can be worked on later by people in the know about traffic sign things.
Absurd to express the same quantity twice in a functional tag that addresses one single concern, simply and machine-readably, unless you are (somehow) recording exactly what the sign says in a tag dedicated to that concern.