This is a pretty close analysis. However, Anglo-Indians are essentially in two segments; the descendants of marriages between the British, the French, the Dutch and other Europeans; the descendants and subjects of the Portuguese from Goa and Mangalore, loosely called Anglo-Indians, who really are not AI.
Category 2 above would be more accurately local Dalits and Dalits who came across as servants of the British and stayed on, the latter being a fraction of the former. Perhaps Category 3 parses as local Dalits.
Off-topic: some mention of the origins of the Muslim population of the sub-continent came up. This is such a vast subject that it is surprising to see it mentioned in off-hand fashion in a couple of posts, but perhaps that is as much as might be expected considering that it is actually off-topic here. Large parts of the western coast and most of current Bangladesh* were descendants of immigrant Muslims, or were converted by sufi holy men. In north India, there were sections of the higher castes, sometimes whole segments, who converted to Islam in order to stay relevant in administration and the upper reaches of society to which they belonged until the Delhi Sultanate. These constituted Rajputs, Jats, and might have also included baniyas of various sets. There were also large numbers converted by sufi holy men. And the third group consisted of Dalits seeking a way out of the deadweight of social sanction. Finally, there were higher caste Hindus - Brahmins, typically - who converted out of conviction, a process that still continues in spite of all denial, or on having lost their caste purity due to some violation of the laws that govern such things. I wouldn't like to comment on some of the things written about the differences from this above that members have noted about the population around the Indus.
* About Bangladesh, Richard M. Eaton has provided a fascinating analysis. It is up to the reader what he makes of that model.