There's control and there's enough control so not a single missile can hit a cargo ship in the strait.
Maritime insurers are understandably conservative. If the ship stays trapped it continues to pay premiums (insurance company wins). If it risks passage it risks a $10M payout (insurance company loses). If there's risk of a single missile the insurers won't allow the ships through. How can an insurance company thousands of miles away stop a ship? "If you risk the passage you're not covered by insurance"
Pretty sure Iran has spent the last 30 years ensuring that they can mount gorilla attacks indefinitely in the face of overwhelming invasion.
That has been their deterrent strategy for decades. Intelligence analysts out front should have told ya.
(A massive invasion would also not open the strait.)