By the look of the result and after studying the source of libXft and fontconfig, it seems to me XftFontOpenName() simply falls back to "fixed" font (XLFD alias) if it does not parse the provided name successfully, which happens for empty string as well as for some nonsense or the case a font is unavailable.
The name is parsed with FcNameParse() function from fontconfig library.
I succeeded getting the font I want with the following syntax
font = XftFontOpenName(dpy, screen, "Terminus:style=Regular:pixelsize=20");
after confronting https://www.freedesktop.org/software/fontconfig/fontconfig-user.html#AEN21