Патрик, вы можете легко сделать это, используя fillRect, например:
ctx.fillText("Hello World", 0, 0);
var text = ctx.measureText("Hello World");
ctx.fillRect(xPos, yPos, text.width, 2);
Единственная сложность в этом подходе заключается в том, что нет способа получить высоту, используя measureText. В противном случае вы можете использовать это в качестве координаты Y при рисовании fillRect.
Ваша позиция Y будет зависеть только от высоты вашего текста и от того, насколько близко вы хотели бы подчеркнуть.