My friend in the know says that in practice the "via Bath" fare is also valid via Melksham (even though you don't go through Bath - makes sense because its a shorter distance). The "Any Permitted" fare allows you to go via Reading and Basingstoke, should you really wish to do so! (and the pricing is consistent with this).
So why, then, does the
FGW▸ ticket sale site
only offer me the "Any Route" fare for the 18:42 (via Melksham, change at Westbury) service? And would you feel comfortable explaining your presence on that train to one of the new penalty fare collectors who may be operating on it between Swindon and Chippenham, and between Trowbridge and Westbury, both of which are in the penalty fare zone?
In practise, I think people booking on line will go for the lowest fare shown available against the train they wish to travel on, or will go for a cheaper train even if it's slower. It will take a very knowledgable and brave punter to buy a ticket that's shown as NOT being available on the selected train, and then face the FGW "revenue protection" team who have a bit of a reputation for assuming that genuine mistakes are attempts to defraud.
I suspect your friend is correct and that the "Via Bath" ticket would be accepted in practise - but I think it's wrong to expect John Doe, an occasional traveller, to realise this. I fear that John Doe will end up paying more than he need, although the occasional Barry Doe may make a fully educated decision