I am not sure anyone at a gateline needs to check a railcard with contactless. If the card works and isn't blocked, that's all good. The back end checks if the person has a railcard and applies a discount later.
Now the issue comes on how you apply that discount to an account to prevent fraud. If you let someone rock up at a station to ask staff to add a discount to their card, staff should make it expire on the day the railcard expires (like adding a discount to Oyster). That's fine, but what if someone decides to add the discount to multiple cards (friends and family) on the basis that inspectors can't actually check if the railcard discount has been applied elsewhere?
You could have a list that updates periodically for handheld devices to check, or perhaps you just accept that a single card might be shared (in reality, not many people are going to willingly share a credit or debit card with many people) and don't worry too much about it. And what you really need is to just stop someone showing a railcard to different staff/stations to get added to multiple cards.
Make it so your online account can generate a unique code that is given to staff (or done online) which keeps track of what card has your railcard discount applied. If you need to change contactless card, you can cancel the current card online and get a new code to apply for a new card. This would mean you can't use multiple cards, say a debit card some of the time and maybe a credit card if you're low on funds, but I think most people would accept that restriction?
In theory, such an online system could even automatically 'renew' your discount when you renew your railcard - depending on whether the DfT, RDG and TfL can share certain elements of data.
This is all assuming you manage your railcard online, which I expect most people do these days. Perhaps in the future, TfL will link up with the railcard system so you can use one login to manage both?