Can confirm, that my idea is a valid workaround.
Added a new custom ticket field cf_enduserappcomm.
On document.ready, this field is equipped with the window.store.portal object and hidden:
//hide field cf_enduserappcomm and add product_id to that field
jQuery("#helpdesk_ticket_custom_field_cf_enduserappcomm_xxxxxx").parent().hide();
jQuery("#helpdesk_ticket_custom_field_cf_enduserappcomm_xxxxxx")[0].value = JSON.stringify(window.store.portal);
On end user app initialization I now use the get ticket method to receive the product_id from that new field.
I mark it as a solution for the time being, but I still see this as a plan b and would like to see the associated product_id in the get portal method.