When you go from Cardiff to Bristol/ London you won’t be using ATW but GWR trains. If I was to walk into Cardiff Central station and purchase a ticket on the day, it would only cost £12.90 single (one way) to Bristol Temple Meads = the downtown station. (You will also see trains going to Bristol Parkway - this is on the northern edge of the city). Trains leave Cardiff Central for Bristol Temple Meads every 30 minutes. That is not the final destination - those on the half hour are going to Portsmouth via Bath. So, I would not bother buying in advance one of these tickets. If you go into Cardiff Central (or Queen Street) station say the day before, you might be able to purchase a ticket for a specific train to Bristol for maybe £10 - BUT, BE SURE TO TELL THE CLERK THAT IT IS FOR THE FOLLOWING DAY. Try and avoid commuting times M>F as they are only 3 coach trains on a busy route. (Longer ones arrive this autumn).
Regarding Bath to London: here big savings can be made by advance purchasing a specific train. Americans have had trouble with the GWR website so I suggest you try:https://www.crosscountrytrains.co.uk
Now, you are wondering why I would send you to a website for a company that you would not use? All the train companies sell tickets for all other train companies. The Cross Country Trains site has the advantage that if you wish to change the booking, you will not incur a £10 re-booking fee. However, before going on the Cross Country site, I would go to www.nationalrail.co.uk , insert your date for Bath to London (PAD) and check out the fares. You should find it cheapest once the cheap advance fares are loaded to the system = about 11 weeks out. Make a note of your favoured train and then book it via the Cross Country site. You will get a booking number and they will want your debit card details. When you are in the UK, insert the SAME debit card into a ticket machine and tap in the booking number. Out will come your tickets. You don’t have to wait until you are at Bath and ready to go to London to do this. You could even do it in Cardiff - even though it will say that you pick up the tickets at Bath.