Stuck with self-referencing linked server - will replacing the primary server name be better?
A linked server even if it links to itself is still a linked server with all of the pain points that entails (as you outlined in your question). I would either stand up a new server/instance with the name that you had installed and run the database there without the linked server, or get the app to reinstall with the actual server name.

Having an Alias does make things simpler - mainly that you can move the database around without the app knowing - but if it's going to do every query through a linked server then benefit is outweighed (in my opinion) by the cost.