It sounds like the site you were testing doesn't use HTTP Strict Transport Security (HSTS), or at least doesn't pre-load it. However, it's entirely plausible that the CAPTCHA service is hosted on a site that does use HSTS (for example, Google does for most of its sensitive sites); if your SSL-stripping proxy blocked all HTTPS traffic, then that would simply break the CAPTCHA service. Simply allowing requests that go over HTTPS despite stripping to succeed would fix that. It's certainly not going to prevent MitM attacks from succeeding;
Alternatively, it's possible that your SSL stripping itself broke the CAPTCHA. SSLStrip by necessity modifies the HTTP responses; it's possible that it makes some modification which just breaks something (either accidentally, or because there's some explicit check for SSL stripping in the CAPTCHA's JS). It's not hard to detect SSL stripping. On the other hand, it's not hard to modify the stripping functionality to fool any particular instance of detection code, either.
Bottom line, CAPTCHAs do not protect against SSL stripping attacks, or any other kind of MitM. There's nothing, transport security wise, different about a CAPTCHA than about any other cross-origin (or, sometimes, same-origin) script-initiated request. They (like anything else) might accidentally or deliberately break in the presence of such attacks, but a competent attacker would be able to un-break them, and verify that they are unbroken, before targeting a victim.