If the problem is the select2 JQuery plugin is not working as expected, then the problem has to do with understanding Blazor and JavaScript fundamentals. Blazor is an SPA. The Blazor application is downloaded to and runs in the browser. That's why a refresh works. The select2 is initialized when the HTML that has the select loads. You should find a Blazor solution to replace the select2 jQuery plugin or write your own autocomplete.
Secondly, do not use JavaScript to update the DOM in a Blazor application. Blazor tracks the DOM and if the DOM is updated outside of Blazor then Blazor will not be aware of the changes.
Reference documentation