The zone 1-5 daily cap is £12.70 so you were definately overcharged. The capping day runs from 0430-0430 so midnight doesn’t come into it. The RRB almost certainly has screwed things up. The Network Railcard can’t be added to an Oyster card because the minimum fare on weekdays means that no discount is applicable for the majority of journeys. Contactless should* be no more than Oyster and can sometimes work out cheaper.
I’ve tried several combinations but without a bit more detail I can’t work out how £18.70 gets reached. If you can paste your journey history into a reply it’ll make sense. It’ll also point to which journeys you need to request a refund for. My guess is that the main issue was touching in at Hayes at the end of the day started a new journey instead of ending one. The other issue may be whether you touched out at Lewisham before getting the bus. All will become clear with history.
*There are a very small number of use cases where contactless might charge more overall, involving Radlett and Potters Bar. Almost certainly not relevant for you.