OK - just did some more testing. It's just a coincidence that the offset is the difference between the em size and ascender size when using Avenir. Doesn't hold true with, for example, Verdana.
From the InDesign Help Files
First baseline offset options
To change the first baseline options of a selected text frame, choose Object > Text Frame Options, and click the Baseline Options tab. The following options appear in the Offset menu under First Baseline:
The height of the “d” character in the font falls below the top inset of the text frame.
The top of uppercase letters touch the top inset of the text frame.
Use the text’s leading value as the distance between the baseline of the first line of text and the top inset of the frame.
The height of the “x” character in the font falls below the top inset of the frame.
Specify the distance between the baseline of the first line of text and the top inset of the frame.
Select a minimum value for the baseline offset. For example, if Leading is selected and you specify a minimum value of 1p, InDesign uses the leading value only when it’s greater than 1 pica.
Take care to distinguish Ascents and Capitals. Both values are saved in the font file (also possible that InDesign does not count on designers getting that right, and simply measures the characters), and InDesign does use the correct value for each:
Top: Aligned top with Ascents. 'bdk' aligns perfectly, capitals do not. But Capital Height does not need to equal Ascender Height (although in regular fonts they are very close). In Verdana, your other test font, the difference is there as well but it is much smaller.
Bottom: Aligned top with Capitals. Perfectly aligned.