Honestly, regardless of if the railway had to pay for the taxi or not, I'd have hoped they would given the OP had already endured a 3 hour delay. Its these kind of customer service failures that often paint the railway in a bad light, even if technically the decision was correct according to the rulebook. I've had GWR put me in a taxi after being over two hours late and thus missing a last bus before when they didn't need to, and I've had TfW recently stick me in a taxi from Cardiff Central to my destination when they could very well have told me to make my way closer by rail and try to sort a taxi from there (but that would have turned a 3 hour delay into a 4 hour one so they agreed to just pay for a taxi from Cardiff instead as to not further delay me). It's called good customer service and is the kind of thing that will make people who are unsure about rail travel trust the railway (especially if you live far enough away from a railhead station that you need a bus or similar to get there - otherwise people are going to just drive instead if they can't trust that the railway will be able to get them home).
Now, I do wonder if OP would have had a more favorable outcome had they asked staff about it beforehand (rather than taking it on themselves to jump in a taxi and try to claim it back) as especially in the moment some members of staff (actually most I think to be fair) can often be very helpful even when they don't need to be.