It's because of the \K. When you're searching upward, it looks for the last part of the regex (after the \K) and discard it, then it searches the first part
If you want that the regex works both directions, substitute the /K by a lookbehing condition :
Code:
(?<=Last Read:</b></dt><dd>)((<em>)?N/A(</em>)?| \d{1,2}/\d{2}/\d{4}| \d{1,2}-\d{2}-\d{4}|\s)