Hi there - there is a similar question here (Page title and page icon reset every time app refreshes) from more than a year ago.
With the st.set_page_config() (st.set_page_config - Streamlit Docs) call you can use the
page_title argument to override the title in the browser tab as well as the
page_icon which sets the favicon.
One thing I noticed is that it still will initially load and flicker the
<stock favicon> - <app> - Streamlit. I’m wondering if there is a more direct/elegant way that avoids the flicker and just uses the title and icon defined in the set_page_config() call.