Canvasに描画すればmeasureTextできるから、努力すれば各行の幅が取れる

もしくはSVGのforeignObjectにスタイルなどを適切に適応したポップアップ部分の複製を入れて
テキスト背景色などを調整した上Canvasに描画して当たり判定をする