I think there's some misunderstanding about what perfect grouping is. Perfect grouping would be if you adjusted for a categorical variable of census tract as both a fixed effect and random effect. R does not converge in that case. That's not what happens in the first model. If tract.income is a unique variable for each tract and you adjust it as a factor, instead of continuously or pseudocontinuously, this problem arises because incomes are interchangeable with tract labels. Again, R would throw an error in this case.
Your first model merely adjusts for a between-cluster predictor of the outcome. This is a totally sensible approach in mixed effects models when it would be appropriate in a fixed effects model. Adjusting for a between-cluster variable is superior to the random effect in a few ways in that it actually estimates a mean difference: this mean difference enables comparisons of people between different clusters. So, for instance, if John Doe applies for a mortgage in a poor neighborhood I know his mortgage success will be closer to that of other poor neighborhoods even if they are not his poor neighborhood. A random effect only tells us people in the same census tract/neighborhood are similar.
Adjusting for between cluster factors can make for better comparison of race to mortgage success. The key assumption here is that census tract income predicts or is independent of race, conditional on individual income. I think that assumption is testy at best. Racial groups, conditional on individual income, tend to cluster geographically in similar areas.
When doing research on disparities (which I catch the jist of based on the variables), I often report the marginal and conditional differences, e.g. blacks were less likely to receive mortgages than whites, but after control of median tract income and personal income, differences were not observed.