Quick Update:
After reviewing the modRSSParser class, I eventually came to the Snoopy class. As part of the default configuration, it looks like redirect support is enabled, with a limit of following up to 5 redirects:
File: /core/model/modx/xmlrss/extlib/snoopy.class.php
var $maxredirs = 5; // http redirection depth maximum. 0 = disallow
As I traced through the code to see how/where any encountered redirects were handled, I soon realized that although the
HTTP/1.0 301 Moved Permanently status was given, the resulting URI never changed? ...This caused Snoopy to continue looping until the maximum redirect tolerance was met, at which point it gives up trying to consume the feed.
NOTE: I was able to take the WordPress feed and copy the XML into a MODx Resource (w/ XML content-type) and consume the feed without issues using getFeed, so it seems to have something to do with the 301 Redirect status and Snoopy’s handling of redirects. I even found where the status code was set and temporarily forced a "200 status", but the resulting rssCache file was incomplete as Snoopy never actually received the datafeed
What I find interesting is that I am using a clean install of WordPress without FURLs (no mod_rewrite / 301, etc). When I hit the datafeed directly in my browser, I am never given the 301 Redirect, rather a 200 OK status...which makes me wonder how Snoopy is seeing anything differently?