One more point: you can’t compare violating Belgium’s neutrality with the idea of violating Spain’s neutrality. First off, because of the speed with which Belgium fell there was no time for France to reposition it’s armies in response to the German thrust. Second, I don’t believe Belgium had much of a military.
Neither of those things would have been true with an invasion through Spain. If the Spanish contested it at all - which I think is guaranteed: Franco, as you say, was such an open Axis sympathizer there’s no way he’d have believed that he’d be left in power if the Allies were allowed into his country - it would have matched the difficult fighting that the Allies had trying to break out of Normandie. The fact that Franco had a veteran army cannot be overlooked, either: the time it would take to defeat that force would have allowed time for the Germans to reposition.
As Sampiro hints, the Allies put a great deal of effort into spoofing the Germans into thinking that the Allied invasion would be coming towards Calais, and still there was a huge Allied bloodbath in what was supposed to have been (from the German perspective) a quiet backwater. There would have been no possible way to spoof an invasion through Spain - and the routes from Spain to France are all well known, and narrow. Which means easily blocked.
Finally, unlike France and much of Europe, I’m not sure that the Spanish people would have accepted an Allied invasion. Franco’s supporters would never forgive the attempt to keep him out of power, and Franco’s enemies would never have been able to forget that, when things didn’t end quickly in the Spanish Civil War, the various “free” nations let Franco’s victory stand. Advancing through partisans territory is hard. Pushing combat logistics through active partisan territory is very hard.