Thanks for the replies guys. I noticed the GameSense errors as well, and initially thought it was relevant, until I came across old logs (before they moved their location) and GameSense had the same error during a completely successful game session. I think that is its own plugin that failed in some way but isn't relevant.
Also, I have opened those ports (been open for years now, I just update the local IP if it's changed from a power outage), but perhaps there's a problem that coincidentally happened at the same exact time as the 20.5 update. I'll dive into the ports again, next, since I was able to connect locally no problem.
I've tried it with an old set of files (custom configs, mods, etc) and completely fresh installs.