I think you’re fundamentally misunderstanding how data is handled in federated systems. When an account from Threads interacts with your post or you interact with a Threads post, information is exchanged exclusively through Actions sent between the servers- never to or from your or their client and another server. It looks like this:
Client <=API=> Instance <=Action=> Instance <=API=> Client
They don’t get any information that isn’t already available publicly to any random user on your instance- no IP address or anything otherwise. Threads’ mobile app data collection has no bearing on their ability to collect information on you.
Edit: To be clear- there is theoretically a set of protocols in the ActivityPub spec that allows for direct client to server communication (unimaginatively called ActivityPub Client-to-Server), but it hasn’t been adopted by any current Fediverse software implementation that I’m aware of.