Can you check out `Widgets/Viewer/viewerDragDropMixin.js` and add an entry to `createOnLoadCallback` for `KML` as well.  This will let us drag and drop as well as use the source property.