While Xbox One sales might drop due to the decision, Microsoft as a whole will greatly benefit.
Windows 10 isn't the same as just putting games on PC, or at least not to Microsoft, they own Windows 10 and are now considering it part of the Xbox family. By therefore putting together Xbox and Windows 10, their userbase has GIGANTICALLY increased. So if there are 20 million Xbox Ones out there, and if I were to make up a random number let's say that 80 million people have Windows 10. That is now a userbase of 100 million for all of Microsoft, Xbox, Windows 10, and its whole game division.
Whatever sales of Xbox Ones they lost, they will more than likely make up way more than it with the sales of the games on Windows 10 since they don't have to deal with shipping and all the other things that come with physical. And that's the thing, you can't get the games anywhere else but from Windows 10, so Microsoft is making bank off of this decision no matter what since you HAVE to buy it from them.
That is why it was an insanely smart move on Microsoft's part to make Windows 10 free. And while the ways they have been going to get everyone to upgrade have been sort of shitty (They have been doing some shady shit and sort of forcing it on people that didn't even want it yet, sort of like how I woke up one morning and it was installed when I didn't even click to have it install, it just did it on its own despite how I always clicked the do it later option or whatever, but I was gonna get eventually regardless but still it was shady shit).
Windows 10 and Xbox One have given Microsoft a huge userbase to profit off of sales for games on. They don't consider them as different platforms, they are both part of the same family and userbase, which is why both use Xbox Live.
I used to be against this whole thing when it was first announced as well since I thought it would completely destroy Xbox One sales, but after thinking about it I can see the plan that is in action at Microsoft and it is very well thought out.
The point being that basically whatever sales Microsoft loses on Xbox One's since all the exclusives will be on Windows 10 as well, they will more than likely make up for it with the sales of the games on Windows 10. So as a result it's a very smart move from Microsoft.