The allowance for India-London-India sector is 20kgs in Economy. The agents probably thought they were being generous when they were giving you an 8kg waiver (standard AI policy is a 5kg waiver).
Reason #1 is the correct reason, albeit phrased poorly - since her itinerary starts in India (her "first flight" is in India), her allowance is 20kgs. Reasons #2 and #3 aren't accurate.
Because the agent followed policy, you are extremely unlikely to get anything from AI without resorting to a chargeback or a lawsuit.
The lawsuit idea actually may not be a bad one - it looks like this policy was very poorly communicated, and it would be reasonable to think that the allowance was indeed 46 kgs. Then again, I'm not sure how successful you can be at suing the government, and it's a lot of hassle.