I don't seem to be able to reproduce the issue here - switching to the other file shows its own symbols immediately. I'm also a bit puzzled by how your Symbols tab looks like - with Geany 2.0 you should see a filter entry in this tab, yet there is none in your case which looks like some older Geany (but the message in your screenshot clearly says Geany 2.0):
<img width="453" alt="Screenshot 2023-10-20 at 19 13 47" src="https://github.com/geany/geany/assets/713965/5905d083-99fb-4eef-937f-b00b426dfec5">
Also, if you compiled Geany in `/tmp/geanytest` you should check which `libgeany.so` is called in your case because the newly built executable could load the old library. (But then you are seeing "This is Geany 2.0" so it appears the new library was loaded.)
A bit mysterious...
Does the same happen when you run Geany without plugins? `geany -p`
Also, have you compiled geany-plugins? It seems you did based on the block cursor as it seems vimode is running right? Are you sure you compiled it against the version you have in `/tmp/geanytest`?