His Boston contract forbidding his participation in London would make sense, although he could request or negotiate a release. And if Nike were on board, Nike would pay for his release from Boston and his travel to London. It seems Nike would have a lot to gain from Rupp participating in London.
If he doesn't participate, I think it's because he spent his build-up preparing to run a strength-based course like Boston, rather than developing the speed to race London, and so he (or his team) is not convinced he can do as well as he could with more specific preparation.
He may also be unwilling to appear without a fee. If he shows up without a fee and runs poorly, he loses leverage in negotiating future appearance fees with London. If he shows up and runs 2:10 and is 5 minutes back, it's harder for him to argue that with a more specific prep, he'd be a 2:05 guy.