JSFiddle - React, Tailwind, and code Playground

HTML

<h1>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ultrices porta nibh, eu semper massa ullamcorper et.
</h1>

<h2>
  Curabitur in venenatis sapien. Nullam cursus ante ac enim dapibus, a egestas tellus mollis.
</h2>

<h3>
  Aenean tincidunt ligula et egestas suscipit. Proin euismod felis leo, egestas porta purus porta vitae. Morbi ut pulvinar quam, eu accumsan eros. Duis tristique pretium imperdiet. Integer nunc odio, consectetur vel leo vel, posuere venenatis nunc. Vestibulum sit amet arcu sit amet tortor faucibus maximus in id massa. Praesent vulputate, tellus nec aliquam tempor, ipsum erat tincidunt est, sit amet cursus turpis dui ac ipsum. Duis nec odio in felis aliquet sagittis sit amet in leo. Suspendisse potenti. Curabitur vitae sagittis diam. Duis id lectus cursus purus ultricies sollicitudin. Phasellus a ex sit amet eros lacinia fringilla sit amet sit amet sem. Proin luctus ornare risus at volutpat. Aliquam eleifend porttitor nulla. Sed facilisis mattis felis ut sodales.
</h3>

<h4>
  Quisque quis ultricies arcu. Aliquam feugiat non ipsum quis malesuada. Suspendisse ullamcorper, eros ut maximus hendrerit, sem velit lobortis turpis, non tristique justo magna eu nulla. Vestibulum maximus auctor ipsum sit amet finibus. Etiam commodo iaculis sem, vitae tincidunt libero. Phasellus lacus quam, semper ut pulvinar sed, accumsan a arcu. Suspendisse nulla velit, rhoncus id porttitor at, dictum ac ante. Sed eleifend vitae quam eget pretium.
</h4>

<h5>
  Duis semper rhoncus ultrices. Aliquam id elit nec quam fringilla gravida ac sed nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lorem leo, rhoncus quis nulla eget, posuere pellentesque leo. Nam in nisi sit amet sem consequat sodales. Quisque leo urna, aliquet eu malesuada at, laoreet et lorem. Fusce est neque, fringilla id ex id, semper tincidunt mauris. Aliquam erat volutpat. Vestibulum sodales sodales tincidunt. Pellentesque elementum quis neque vel malesuada. Nulla non...

CSS

.selected {
  border-bottom: 2px solid yellow;
}

JavaScript

highlightFirstWordOfLastLineForHeaders();

window.addEventListener("resize", highlightFirstWordOfLastLineForHeaders);

function highlightFirstWordOfLastLineForHeaders() {
  var elements = document.querySelectorAll("h1, h2, h3, h4, h5, h6");

  for (var i = 0; i < elements.length; i++) {
    highlightFirstWordOfLastLine(elements[i]);
  }
}

function highlightFirstWordOfLastLine(element) {
  var text = element.innerText.trim();

  /* get words list */
  var words = text.split(" ");

  /* removing all elements */
  while (element.firstChild) {
    element.removeChild(element.firstChild);
  }

  var spanArray = [];

  /* add spans with words and whitespaces */
  for (var i = 0; i < words.length; i++) {
    /* append span with word */
    var span = document.createElement("span");
    span.appendChild(document.createTextNode(words[i]));
    element.appendChild(span);
    /* append whitespace */
    element.appendChild(document.createTextNode(" "));
    /* save span element to array */
    spanArray.push(span);
  }

  /* sorting by highest top and lowest left */
  spanArray.sort(function(a, b) {
    var rectA = a.getBoundingClientRect();
    var rectB = b.getBoundingClientRect();

    var deltaTop = rectB.top - rectA.top;

    /* if differense is less then 1px */
    if (Math.abs(deltaTop) < 1) {
      return rectA.left - rectB.left;
    }

    return deltaTop;
  });

  /* appending highlighting to fist word of last line */
  spanArray[0].classList.add("selected");
}