The only part that requires widgets is the KJobWidgets interaction (https://invent.kde.org/frameworks/kio/-/blob/master/src/widgets/openfilemanagerwindowjob.cpp#L147)
KJobWidgets::window should probably be a QWindow instead of QWidget
Also, shouldn't the job use the job use the uiDelegate of the parent instead of hardcoding one? If the parent uses e.g. KNotificationUiDelegate then the subjob should too.