Id urge you to try both out again and verify results. The comment is fairly dismissive, yet both do work even behind a cgnat (albeit not under all conditions). If you do find a general solution to the problem, please do share.
I have the same experience with libp2p. Something is always broken. Last time it was mDNS.