I think you are basically right.
If you are mining selfishly anyway then double spending attempts do not cost you very much.
However, the probability that a selfish miner will get a lead of 5 blocks is rather small even with 25% mining power. If the adversary has a lead of 5, the honest network has a chance of 32% to find 4 blocks in a row, reducing the adversary's lead to just 1. The adversary would now have to publish his chain in order to not lose his block reward. Therefore the double spend would fail because the merchants do not yet have accepted the payment of the adversary because of the confirmations needed.
That's just one example of how a double spend attempt might fail. This further reduces the probability of a successful double spend.
So your idea is basically right but the probability for this to work should be rather small. One would have to carefully calculate that taking every possible outcome of the chain race into account. And then you could estimate how long and adversary with mining power x would have to run his attack until (expected time) he succeeds in double spending.
However, at the moment I don't consider this a threat to Bitcoin. Selfish mining increases your relative reward (how much you get compared to what the honest network gets) but it is not a rational strategy if you want to increase your absolute reward (how much Bitcoin you get for the computing power you provide). Therefore the attack you described would have a certain cost because performing honest mining would be more profitable than selfish mining.