Have you tried accessing it via 'font-name? That should work since it
bypasses LilyPond's font selection code and funnels it through to
Pango directly.
I like this approach (without a better mechanism in place) because you
can add:
\override '(font-name . "Ubuntu Medium") { ... }
in the markup block whenever you need that semi-bold weight (not the
best solution, but it's usable).
I know that there is some on-going work right now to make more of a
"master" pango-font-tree that allows you to access condensed/extended,
light/semi-bold, etc. variants if they exist. Not sure if it's going
anywhere at the moment, though.