If it was me, I'd accept the three weeks off and say "Okay, I'll stay away this one time. But before he leaves you have to say 'my boyfriend' at least once to your friend.".
If the friend does know your bf is gay but just doesn't want to talk about it, he might not actually have a problem with it. Casually dropping "my boyfriend" into conversation is something that lets him know for sure, but doesn't require him to react. They can continue not talking about it, but know that it's not a secret.
If my boyfriend ever did that to me he would be gone.
I never found it easy to come out and although my family doesn't know I'm gay, they are never supportive of that sort of thing. So imagine if someone took the power away from me and did it for me. I would be furious at the person who did it because I would have no control over the situation and I'd have no tolerance for anyone who would be selfish enough to do something like that to me.
Overall bad idea. I think it's best just to let the bf do what he likes for now and tackle all this sh*t when he is ready for it.