IFrames are completely ignored by search engines, then pets.tumblr.com/cats will look as a blank page. All content inside the IFrame belongs to a different site. Using IFrames will not hurt pets.tumblr.com but your pages will never get ranked because they will be blank pages.
Doing javascript/jquery redirect might look as a sneaky redirect, you are sending to a different page in a different site, that'll hurt cats.tumblr.com, so I'll not do that. Check this post on Google Webmaster Tools content guidelines.
Are you redirecting only your cats.tumblr.com's homepage to pets.tumblr.com/cats's homepage? or are you redirecting every single page on cats.tumblr.com to it's "equivalent" in pets.tumblr.com/cats? The former will not look good to search engines, the ladder will be worst.
Maybe you can use "syndication" to reproduce part or whole of your content from cats.tumblr.com into pets.tumblr.com/cats, but you need to give attribution back to the source (cats.tumblr.com), and that can be accomplished using rel=canonical and linking back to cats.tumblr.com using anchors.
It might sound like duplicate content, but it will not count as duplicate because you'll be telling bots what's your content source. Also note, pages using syndicated content might not get listed in SERPs because it's source might be more authoritative.
That way you'll have something like:
cats.tumblr.com/cat-toys
pets.tumblr.com/cats/cat-toys
You can include part or whole page content from cats.tumblr.com/cat-toys into pets.tumblr.com/cats/cat-toys and give proper attribution to the source. Include <link rel="canonical" href="cats.tumblr.com/cat-toys"/>
inside pets.tumblr.com/cats/cat-toys's page header, and include <a href="cats.tumblr.com/cat-toys">
wherever you want to let visitors and spiders know your content source.