Yeah, this problem comes up with 50, 60, 70, 80 and 90 in Danish, because those are counted in "number of twenties" for some reason. And not like "3-and-a-half-twenties" but rather "halfway-towards-the-fourth-twenty". That example is 70 by the way (halfjersindstyvende). And nowadays it's shortened to omit the "twenties"-part. So in this case just "halvfjers".
The naming convention is pretty whack, but it's just treated as irregular naming in normal use. The alternative, would be to rename those numbers to femti, seksti, syvti, otteti, and niti, but that's very much an uphill battle against habit. So for now. 50, 60, 70, 80, and 90 just have unique names...
The graphic is correct. "Halvfems" is shorthand for "halvfemsindstyvende" which roughly means; halfway to the fifth twenty. So 4,5 or 4-1/2 "twenties" so 90. But nobody rally thinks about that. To most Danes "halvfems" is just the name for 90, just like ninety is in English...
Yeah 5-1/2 is 4.5, but the word "fems" is short for femsindstyvende, which means 5x20, so writing it out as (5-1/2) rather than 4.5 matches the word halvfems more closely. Could also write it out as (-1/2 + 5) i suppose