I try to follow the rule that “when you try to please everyone, you end up pleasing no one”.
IMO, the son is immediate family and should get the spare room. For MIL, you help her get other accommodations since you just don’t have the extra room for her, unfortunately. If she takes offense to that, it’s her problem, not yours.
What I wouldn’t do is make your son sleep on a inflatable mattress for 5 days (see my first sentence).