I have faced the same issue and I haven't found solution so far.
The steps I follow in order to reproduce:
I buy a non-consumable.
I check my local transactions by navigating to Debug - StoreKit - Manage Transactions. The transaction is there.
I remove the application.
I do install the application again, I click into my button for restoring purchases - this button triggers restoreCompletedTransactions() from the StoreKit framework - but I receive zero transactions.
If I navigate again to Debug - StoreKit - Manage Transactions, I can see there are no transactions.
Apparently those transactions are linked to a specific build so as soon as you remove the application the transactions will be gone.
It would be great to get any feedback from Apple.
Thank you in advance.