As the WebApps WG discussed around the imperative API, it would be good simplify all this just down to showing the request for installation sheet. That only requires knowing if the UI was aborted and if the app was installed.
Throwing in the InPagePermissionMixin seems like too much.
Installation is not about "permission"... it's about showing a showing an installation sheet.