There is a number of issues (locked) that mention an issue with this but none of them appear to provide a reproducer so it’s hard to tell if the cause is the same but when I had the same issue I hunted until I found the issue.
In our case, we used the empty markdown: st.markdown("##") to add vertical spacing. But this will generate a h2 element with and empty id and then the browser will scroll down to it.
IMO this is unintended and this could be fix. I’d be happy to provide a fix if someone can open an issue on Github and I can get a PR up for it.
Basically the react component will configure/generate an anchor, use that as the id. Then it compares that anchor as follow: window.location.hash.slice(1) === anchor
If this check is successful, the code assign the HTML node to target and then, with a 300ms delay, the browser will navigate to it: