I'm not sure any existing extension uploads both regular data and image together, but there's no reason it wouldn't work because Flarum API can also decode "regular" multipart form bodies, not just JSON.
For examples that are simpler than FoF Upload, you can look at Flarum's favicon and avatar upload, my Predefined Avatars extension, or my Catch The Fish extension.
In my premium Formulaire extension I have a custom form builder that includes image uploads, but the images aren't actually submitted with the form, they are sent to the backend as soon as they are uploaded, and then a UUID for each image is sent in the JSON submission for the form that allows the backend to map the files back to the submission, and discard unused files.
I have also file uploads in my Cimaise and Flamarkt Files extensions, but those are not released at this time. The approach is very similar to Catch The Fish, where uploading an image creates a new model in the database, and only afterwards do you get an opportunity to update the model's attributes.