I don't and can see how in edge case scenario's one can run into discrepancies between Reacts typings and advanced edge case workarounds. Especially since React itself isn't written in TypeScript.
I'm considering moving a notification service currently implemented with email to Web Push Notifications. It's a shame these notifications have such a bad rep due to abuse. A permission request to enable Push Notifications should in my mind only be initiated from a user interaction. Like a toggle in a settings dialog to specifically enable these notifications for specific topics.
I was in a similar situation, heavy class component based TypeScript Vue 2 project. Vetur was still the default vscode extension and slow. It was either a big rewrite to Vue 3 or a big rewrite to React for me. I switched to React+MobX and have no regrets.