it seems the entries in the schematic file header like: LIBS:bel_stm32 are no longer relevant. They neither get updated nor removed when the global library search path is changed. The global lib search paths are written in the project file which seems the only relevant place for those settings.
Am I right ?
In eeschema the library name where a specific symbol came from is not stored with the symbol placed in the schematic.
For this reason symbol names need to be unique across all libraries.
Kicad takes the symbol from the lib with the highest priority if there is a name conflict. (The priority is determined by the order in the component libraries dialog.)
Something similar happens to lib names.
If you have multiple libs with the same name, kicad takes the one it finds in the searchpath with the highest priority.
I think the higher up in the Current search path list the higher the priority. (But i could be wrong here. I just noticed that stuff in the “User defined search path” box has a high priority. Higher than system defined stuff at least.)