Your code is setting the slug of the post to your custom meta string. That work is done on the admin side and so shouldn’t effect your viewers much.
WordPress will use that slug more or less directly to construct an url and/or load a page. What you have done is not different from hand-writing a slug in the “Permalink” portion of the post form. Performance should be no different than the performance when doing that.
If those meta keys are changing a lot though you could end up having trouble. WordPress will track the slug changes and load the appropriate page but if the slugs are changing constantly you could create a circumstance where a lot of work is required to find the appropriate page.
You are afraid that the performance will be really bad or you know that it is really bad? Be wary of premature optimization.