How to Modify My Plugin’s Admin Settings so that the Plugin can be Added to a Specific Page?

You are registering user_profile_template function to run during the page_template filter hook, but your function is actually called registration_template.

This is why your selected page might not be loading your custom template file. That’s one thing. Another is that with this method, the selected page will look completely different than all other page in the active theme. While you can mimic one theme’s HTML structure in your plugin’s custom template, this will not work in other themes. That’s assuming that your custom page template should look like it’s a part of the theme (with header and footer, at least). A workaround would be adding a filter to the_content hook and printing your custom HTML before, after or instead of the original content. This way you are only concerned with your own markup and you’re letting the active theme to control the overall HTML structure.