@MichaelRogers, Thanks for your response.
No, I did not get that error, though I used to get that error in earlier versions of Mathematica (now I have 11.2).
Regardless of that error, I think technically these algorithms shouldn't give real isolated solutions for underdetermined systems. The Groebner basis method is defined over complex variables and gives complex solutions. If the original system has only isolated solutions, the Groebner Basis method gives all isolated complex solutions which would include isolated real solutions as well. So all is good.
However, if the original system has infinitely many solutions (underdetermined), and we add as many random hyperplanes (or linear conditions, as you say) as required to completely determine the system (i.e., only isolated solutions exist), the Groebner basis method will then give us complex isolated solutions for the new and bigger system. That's because you are adding complex hyperplanes (remember, the GB mehod is strictly defined over complex variables).
The fact that the NSolve command gives us real isolated solutions back is suggesting that it may be using some additional method/trick to extract the real isolated solutions from complex solution curves of the original system. So, my question is much more specific than Frank's response. In any case, Mathematica documentation should at least tell us what method it is using, rather than its user figuring out things. Otherwise, I can't use the results generated by it into a scientific publication. Again, I don't need any proprietary information here obviously. I just need to know if the method makes sense and kosher.