It could be done with a local TCP / UDP <=> WebSocket gateway, especially if it's written in a safe language like Rust.
Webapp + native gateway also means that the torrent traffic ends up being suspended/throttled if the tab isn't foregrounded or if you close it, something you wouldn't have to deal with if the native gateway was just a native torrent client. Chrome Apps had a background privileged context that could keep running even if no tabs were open (though Google naturally discouraged this unless the app needed it), something you can't really get with a PWA currently (though Service Workers come close if you keep the tab open, I think? Maybe?)