The “normal” (meaning you met expectations but didn’t wildly exceed) bonus at Microsoft for a L65/L66 (Principal) level is 20% of base salary. Officially the range is 0-40% but the vast majority will get 20%. Base salary at this range is about $200-$250K, so a normal bonus would be $40-$50K at that level.
I would assume so. It's Microsoft after all. All big companies have some kind of "bonus" in your salary especially in America. I think 20k is too low to be that. I get more than that and I work in the EU.