he doesn't take every Dragon Soul that you kill, probably 50% (+/- 10%). i always build up to at least 10 Dragon Souls before confronting Miraak the first time just so i can unlock Bend Will, Dragon Aspect (at least 2 of the three words) and any other shout i come across on Solsthiem.
I played today, the first dragon soul I got just fine. The second time Miraak took the soul, I just reloaded the save right before the fight witht the dragon and I got it. Thanks! I will be sure to reture the horn to Ustengrav!
I was very lucky to have I think 7 souls when I went to Solstheim... I was really worried I might not gain more dragon souls because Miraak shows up to steal them even outside of Solstheim. Luckily my extra souls managed to unlock all of the Solstheim shouts that I needed to move on in the quest line... :D Next time I play Skyrim again I will be sure to once again have at least 7 souls before going to Solstheim.
Miraak should only have a chance to appear (but he often doesn't seem to care about that), like Purrington said above Ustengrav should have a soul you can get. Otherwise keep trying or if your on PC you can use commands.