Only one transaction that spends a specific input can exist in that chain (and thus having a confirmation) , not two different transactions with confirmations.
By that definition, then sure, there cannot ever be a chain with a single input being spent twice, but that isn't the only way to double-spend money. It's entirely possible for the chain to mark the coin as spent, then mark it as unspent, and the again as spent. That's obviously double-spending.
I think we're arguing on semantics. The Bitcoin protocol is a solution to the double-spending problem, as long as there's a condition that is being met, and that condition isn't to merely check for transactions double-spending, but to not having a malicious chain reorg.