I find the differences in how to do stuff like that in a plugin vs in a theme confusing too. You could punt and use a theme component for that stuff, but it sounds like you’re looking for the best answer rather than the fast one. (though there are some advantages to having that stuff split out for separate maintenance)
I think you need to add a line to the plugin.rb that includes the file you want. What I do is clone a thing from the discourse github repo called all-the-plugins and grep there for an example.