Free to US citizens would be a better policy, the state investing in its own people.
May be an unpopular opinion here, but education should be a market just like anything else and the government should put its thumb on the scales as infrequently as possible.
Granted! Now US universities consist of 99% immigrants/people on student visas.
As long as you let universities act like for-profit businesses, their profits will be the only thing they optimize for.