I would agree that student loans shouldn't be that way either, but, we shouldn't be handing out money upfront without guarantees that the incentivized behavior will actually happen - the two things that come to mind are the 90's fiber rollout and the Foxconn subsidies in wisconsin, both of which the company took the money and then never actually built the infrastructure. If there are going to be outright subsidies, they certainly need to be contingent on meeting milestones, and not just "pretty please build a plant, here's a big check to encourage you but no strings attached".
Think about how the US did the auto bailouts as well - we got a big chunk of equity that we eventually unwound on favorable terms, but we didn't just write a check and be done either. Same thing, maybe if TSMC wants a big grant for expansion, maybe the US should get a big chunk of equity (at guaranteed and favorable terms) and then if milestones are met the equity is again wound down at favorable terms such that the benefit of the "favorable terms" on both sides amounts to the subsidy.