Hello,
Welcome to our Microsoft Q&A platform!
>> however, I do not see any way to pair it with an actual currently-logged in user in the Microsoft Store?
If you are using StoreContext in your app, then you don't need to worry about it. The StoreContex is different according to the current user. As the document mentioned: Get started with the StoreContext class, the first step of IAP is to get the StoreContext to correspond to the current user.
But if you are using Microsoft Store collection API or purchase API to manage your Add-ons, the Microsoft Store ID Key is required as a parameter to as the identity of the user. For example, you could check this collection API: Query for products.
>>How to handle e.g. user changing the logged in user in the Microsoft Store whilist using the app? Is there an event we can listen to, and gracefully exit the app?
Currently, I'm sorry to say that there is no such event that will trigger when the login user is changed. But as I mentioned in the first question, you don't need to worry about purchasing an add-on in a wrong account. You will need to log in every time when you want to purchase an add-on.
You could try to take a look at our IAP sample here: https://github.com/msdnwptest/UWP-Support-Samples/tree/master/In-app-purchase
>>StoreContext.GetConsumableBalanceRemainingAsync seems to return even balance of an UnmanagedConsumable (so-called developer-managed consumable), however, the documentation says it is usable only for a store-managed Consumable. Is the documentation wrong?
It should return the Store-managed consumable. The developer-managed consumable is managed by yourself. You need to report the consumable is fulfilled using StoreContext.ReportConsumableFulfillmentAsync
For more information, please refer to Enable consumable add-on purchases.