The United States is withdrawing 5,000 troops from NATO ally Germany, the Pentagon announced, following a public dispute over the war in Iran between US President Donald Trump and Chancellor Friedrich Merz.