BaseUrl has been significantly changed to handle base URLs correctly and account for the case where the baseUrl on a mutated client should be changed. See #47659 and #47674.
While we have to do a late resolution of the url, I think it should be cached.
I also think that we should rename this to something else. Perhaps something more tied to the concept of a running test server. BaseUrl is very low-level and this class isn't. It would also help with the DEFAULT constant that's a bit strange at the moment.