There is an explanation ... taxes include four compenents: airport taxes (fees chraged by airports ... not a tax at all but they call it one), airline surcharges and levies (like fuel levies which are dependent on external or benchmarked factors like oil prices), departure taxes (government taxes levied specifically on air travel) and finally sales taxes (like VAT which are levied on all new goods and services - not specific to air travel). There is no VAT on international travel (as per international agreements) but there is VAT on domestic flights and on airport taxes.
The difference between the two prices is the VAT - on a free ticket there is no VAT, but there is VAT on the domestic portion and the airport taxes if you purchase the ticket - hence the difference in price. Unfortunately the BA staff don't understand what "taxes" mean in the prices they quote. The airlines intentionally want this since they want the staff to convince customers that "taxes" are not levied by the airlines when in fact a large portion often is!