It sounds like your focus is on how to nicely combat negative comments from someone who means well/picks up on social cues, but also sometimes says the wrong thing. In that case, you often can respond to what the person says with a comment that somewhat agrees with them, but pointedly states that you see it differently -- like, "yes, you're right, DS does relate so well to adults, and he also gets along so well with kids his own age - he's great at interacting in many different social situations!"

I don't think that's the best advice if you're dealing with someone who persistently says rude things/makes disparaging comments/acts maliciously, but from what you're describing that's not the case with MIL. If it's not a mean-spirited or repetitive attack, I care less about confronting the person (reality is someone is always going to say stupid stuff at some point) and mostly just care about making sure my own child hears me defend them/stand up for them/know that I don't agree with the statement made.

If there's a repetitive issue (like MIL is always pointing out stuff about only children, etc.) then I think it's best to address at another time - "hey, I notice you comment frequently about things related to the fact DS is an only child. We love our family the way it is and those comments are frustrating to us to hear. Can we please stick to other topics moving forward?"

Sending good wishes for a fun and uneventful visit!