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.
According to the latest UK Visa Requirements document (July 2019), the first TWOV rule under Airside Transit says the following
(i) a valid visa for entry to Australia, Canada, New Zealand or the USA (whether or not the holder is travelling to or from these countries);
Airside transit passengers are those who do not need to change airports and do not need to pass through the UK border.
Therefore, it now looks like we can transit through the UK with an expired US Visa but valid Canadian Visa, if we do not have to change airports.