I think that maybe you need to set up some sort of rule that applies to everybody--everyone must text or phone first, no dropping by.
"Sorry, guys--it's my mom's rule, and she's fierce about it." Be the bad guy--that's your job.
And then, be fierce about it. Nobody may just come to your house without being invited.
And you can say to these kids, under the rule that you get to say how you want to be treated (and that this is not usurping someone else's parenting): "Sorry, boys, you can't just invite yourself to our house. You'll have to leave, and DS can't just go with you, because you didn't follow the rule. So he'll stay home, and tomorrow you can try again to get together."
And then once that is established, DS and you can work on saying things like, "No, now's not a good time
, I'm getting together with other people
." (edited to cross that out--no need to say that, it's hurtful.)
Explain this "they may not invite themselves, and I'll be the bad guy" strategy to your son--it sounds like he's savvy enough to get it, and to be willing to go along with a few disappointments (where someone he'd like to see dropped by without calling).
Also get DS to be proactive in planning with the people he *does* want to spend time with.
I think it's time to relax this:
I am struggling with how to help DS set limits with his friends in part because DH and I place a very high value on inclusion. We have always made our open-door policy is contingent on no child being excluded from whatever him and his friends are doing.
Because your son has a *right* to exclude people from whatever he is doing. He gets to pick his friends. Now that your son is older, he has every right to say, "I don't want to spend time with this person, and I -do- want to spend time with this person."
You've done the work of making sure your son has friends who are not of his narrow race/culture/family background. Great work!
Now let him pick his friends based on their actions and their personalities. That's his right.
If you stick with the rule of yours that I've quoted, you rob your son of the right to choose his friends. And you force him into the situation where he can't refuse to be friends with someone just because -they- want to be friends with him. That's really unfair to him.
Of course it's hard to set limits--you won't let him!
So, by setting up this basic etiquette rule--it is rude, rude, rude to invite oneself to someone else's home--and enforcing it at *your* house, you give your son the tool to determine whether he'll be friends with someone.
He chooses whether to include them at his home. They can choose to invite him to theirs. And that way, no one is being ex
cluded, because nobody's sending them home. The only thing that happens is selective inclusion. Which is how it is supposed to work.
And you'll be setting an example for those kids too--because it's a universal etiquette rule that inviting yourself to someone else's home (which is what "dropping by" is) isn't polite. So now start enforcing it, so that your house is not one of the exceptions to this standard rule.