I've done this many many times when "overwriting" because setting overwrite to True often fails, causing my scripts to exit,
if arcpy.Exists(fc): arcpy.management.Delete(fc)
The problem I've been seeing is when I publish a feature class to Portal with overwrite True and it creates a new service with the same name. You can't do "delete old and create new" because it will give the new layer a different unique ID and that means all your maps are broken.
(I came here because I saw Error 999999 and Overwrite in the "Related" column and got excited. 🙂
(I'm thinking of running off Error 999999 t-shirts, I think it would be a great inside joke for Esri users.)