This post from Eugen Rochko mentions that blocking Threads at the user level "stops your posts from being delivered to or fetched by Threads". Basically, the user-level instance block is bidirectional.
Limited federation mode is a different feature, at the admin level. It doesn't really affect the delivery of posts in either direction, it just hides the blocked instance's content from the global feed. Defederation on the other hand is indeed bidirectional, but again it's on the admin level rather than users'.
The reason for not directly federating content to Threads isn't so nobody there can ever see my amazing posts, it's so Meta can't easily profile me. Scraping public posts on a different platform would probably be illegal, at least in the EU, and reposts don't give them a lot of data about me. Federating content, however, would give them most of the same data that Mastodon has on me without even having to ask.