Попробуйте это - мне интересно, лучше ли использовать рекомендуемый код для iOS, иначе мы можем попробовать setTimeout
Я также изменил имя функции, поскольку setTime может быть существующей встроенной функцией на элемент даты
const setMyTime = () => document.getElementById('timebox').value = "09:00";
window.addEventListener("load",function() {
document.getElementById("but")
.addEventListener("click",setMyTime);
document.getElementById("timebox")
.addEventListener("focus", function() { setTimeout(setMyTime,50) });
})
<input type="button" value="Set time" id="but"/>
<input type="time" id="timebox" />