US president Donald Trump has fired Homeland Security Secretary Kristi Noem amid criticism over immigration enforcement and disaster response.