I don't imagine an average passenger really cares how the railway fares database represents the ticket they want to buy. They just need it to work, and they will be rightly annoyed if it doesn't.
I think it's reasonable to define a software bug as a flaw in computer software which causes it to behave in a way the programmer does not desire. Considering surely no-one at GWR (or their contractors) wants the app to be incapable of selling tickets within one of the largest metropolitan areas in the country, I view it as entirely fair to call it a bug.
No, it's not a bug. The software behaves in the way that the programmer desires, and in the way that is required for accreditation. However, TOCs have ignored (or perhaps do not understand) how the data works, and have created many products that cannot be accommodated by the data structure / technical documentation. It is then everyone else's fault (and, often, cost to fix) when the inevitable happens.
It is essential to understand correctly the root cause, in order to be able to diagnose the problem correctly and fix it.
I do, however, agree with you that, from a customer point of view, this is all irrelevent.