It is completely in the Texans hands because Watson is under contract with the Texans. The only thing Watson can do if he doesn’t want to play for the Texans is sit out and not get paid. Having a no trade contract is only good if you aren’t demanding a trade and the team wants to trade you. Basically the Texans can simply tell Watson that if he wants a trade, they will only trade him if it benefits the Texans organization.
The reality is that if Watson really wants to be traded, I have no doubt there are probably several teams he would be happy to be traded to. While the Dolphins have been a team that has been mentioned because they have Tua and two first round picks. The Jets have Darnold and also two first round picks. New York also offers Watson the ability to earn much more money in the New York market from advertising than he would earn with the Dolphins.
You also have the 49er’s, Washington, Carolina, New Orleans, Tampa Bay, Bears, and Giants who would be very interested in trading for Watson and I have no doubt he would be interested in being traded to any of those teams.