IMHO the reason for Microsoft's failed phone venture was moving onto the windows kernel and 2xing system requirements.
Phone hardware was exploding in capability at the time and the right thing was to lean into that and offer the same developer experience as on desktops with the same OS kernel, like Apple did from the beginning with Darwin and Android with Linux. Microsoft only realized too late.