Create a custom Web Template
Get the GUID from the REQUEST
{% assign id = request.params['id'] | escape %}
Have a FetchXML statement to retrieve the Name (you already know the entity type as you are just dealing with products), or just load the Record itself directly as you already have the GUID
//below is for an account but you will get the idea
{% assign account = entities.account['936DA01F-9ABD-4d9d-80C7-02AF85C822A8'] %}
{{ account.name }}
You can achieve the same with JS, but the retrieve of the Name may cause a longer screen 'flicker' as you have to wait (document.ready) for the DOM to be created before calling your Ajax to do the population vs with a Web Template the values are retrieved server side and so the user is not waiting on the Ajax call.
There are 2 approaches if using Ajax (do not call endpoints you did not create)
(Note: in both the JS approaches you would use JQuery document.ready and then run your code inside it. I don't know for sure but it feels like you may be trying to populate the Lookup before the DOM is created)