I think that was a good analysis.
I think the data would be more informative if it was presented in deciles or at least quintiles. The top and bottom 1% need to be thrown out as they distort evidence as they are unrepresentative extremes. Together the represent only 2% of the population, not significant.
Also your choice of names for those groups seems to me to be wrong. "Those with middle incomes (51st to 90th percentile)" to my thinking these are mostly the upper middle class. and "upper-middle incomes (91st to 99th percentile)" to me that is the wealthy the rich, we are talking the top 10%. Lumping the bottom half of the population all in one category is just wrong. You break the top half of the population into three parts but the bottom half are just one group, not.
That bottom half is the poor, the working class and lower middle class. If you did not assign those labels, you still used them and perpetuated them.
I think better labels are 2 to 10% = poor, 11 to 30% = working class, 30 to 50% lower middle class, 51 to 70 middle class and 71 to 90 % Upper Middle Class and 91 to 99% are the rich.
TEK