1. California has laws surrounding non-compete, making it easier to poach from the Fairchild Semis, Hewlitt Packards, Intels, Sun Microsystems and Googles of the era.
2. It's easier to recruit out of Michigan than into it. California wisely keeps its snow in one place: Tahoe.
3. Diversity. As you point out, there's a ton of H1-B workers, and SF and LA have sizeable preexisting communities. It's just easier to be an immigrant or hyphenated-American in world class metro areas that can support a variety of ethnic and cultural clustering.
4. Public transit. Depressingly, the bay area still has better public transit than most other cities. Yes, the big companies still run coaches in the bay area, but that works in part because of density you won't see in cheaper, lower cost metros. And if you're recruiting internationally, the ability to commute to work without a drivers license or car kinda matters.
5. Access to money. There's a decent number of banks in SF's Financial district -- Wells Fargo and Charles Schwab are headquartered here. VISA is nearby in Foster City, and there's a number of VCs on Sand Hill Road you won't find in other cities.