I’m not able to reproduce this bug. When I set the tos_url the /tos redirects to the URL I set (in my case it redirects to https://discourse.org). Were you perhaps looking at page that hadn’t be refreshed, and still linked to the original topic?
I should have said there is not a way to make users accept updated Terms of Service, after the signup process.
I refreshed, including Shift-F5 and Ctrl-F5, many times, and it always failed on my home computer. But since you said it worked for you, I tried it just now on my work computer and now it works. I’ll try at home again tonight.