You get a different result if you click the buttons versus performing a google search.
But a calculator should work like a calculator.
500 + 1% typed right in calculator displays "500 + 1% = 500.01" in the calculator.
500 + 1% typed in the search box displays "500 + 1% = 505" in the calculator too.
It's probably due to the search result being returned by some server at Google while the other one is computed locally through some client-side JS logic. I think they'll notice and unify the behavior at some point.
Yes, and no physical calculator I have ever seen would give 500.01 for "500 + 1%".