Google’s John Mueller said in a Google Hangout on Google+ last Friday that sometimes when href lang doesn’t get picked up, it might be that the header section of your HTML is broken. When that happens, Google can’t recognize that there is href lang code in there and doesn’t show any href lang errors to you because it is not apparent to Google that the code exists there.
John Mueller answered this at the 19:23 mark into the video saying:
Here is the video embed: