Something like that is probably technically possible, but you’d need to do a bunch of work.
Plex Plugins can’t provide media sources anymore, so you need to do the trick plex_debrid is doing where you add stub sources to the plex server library and serve the files from a virtual filesystem.
You might be able to re-use the plex_debrid code but use youtube-dl
instead of rclone
Right, only one side of the connection needs an open port (and most clients will let that be either seed or leech side)… this is why having an open port on your end is useful if you’re downloading, since you can download from seeders that don’t have an open port.