it would be nice if the blazor docs made this clearer. Blazor server counts on a persistent connection to the browser client (via signal/r). if the connection closed, the circuit is shutdown (after a brief timeout).
In addition browsers are getting more aggressive in closing connection (especially on mobile and laptops) to save battery life. the Lock Screen or inactive tab will often close the connection.
the lost connection recovery must be done in javascript. as you noticed the template just has the reload message. As a true recovery generally requires recovering some state, you need to design you application to be able to recover. A common approach is to store recovery state in the browsers local storage. then you write javascript that catches the lost connection and restarts the app. The simplest is just a reload of the same page (location.reload()). but you might want to add a query parameter so the server knows its restart from saved state.
see:
https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/signalr?view=aspnetcore-7.0