I am an Indian national going from US to India for H1B stamping via London Heathrow using British Airways. My F1 visa stamp has expired and I understand that this would mean that I require a DATV. But I have a valid unexpired Canadian visitor's visa. The BA people are trying to tell me that it only works if I was traveling from Canada to Heathrow. Is this true? I thought if one had a visa for US, Canada, Australia or NZ, it did not matter where one was traveling from?
The BA representative is correct. If you read the exception clause correctly it states the following:
(ab) a valid visa for entry to Australia, Canada, New Zealand or the United States of America and a valid airline ticket for travel via the United Kingdom as part of a journey from the country in respect of which the visa is held to another country or territory;
The part in bold is the condition that BA is referring to. It basically states, your journey should start or end in the country to which you hold the visa that allows the exception for TWOV.
As you are flying from the US (and not Canada for which you have the valid visa) - you'll need an airside transit visa.