For anyone else coming to this thread after upgrading to 10.9.1 I ran into this same issue and luckily Lucas's post above pointed me in the right direction to fix it. Either way I opened a support ticket with ESRI to see if this was logged as a bug.
They informed me that "it is an intended change" and that the upgrade documentation says in the Back up your content section "You must also back up extensions for ArcGIS Dashboards or ArcGIS Web AppBuilder. The upgrade will not preserve any extensions you have deployed for these clients. Once your upgrade is complete, you must redeploy your extensions."
My extensions worked fine after the upgrade IF I deployed them in a NEW Web App, they only broke in existing Web Apps. So, I argued that it's a break in the Web App and not the custom widgets that was the problem. Which it is given that you have to add the itemId attribute to the Web App json as described earlier in this thread.
Either way they closed the ticket as "not a bug" and will suggest to the enterprise team for a "small documentation update"