When FilePond uses AJAX uploading (with process), the files are uploaded separately via JavaScript and are no longer part of the <input type="file"> when the form is submitted. That’s why $request->files[] is empty.
What you need to do is manually store the filename returned from the process() call (usually the path in your temp folder) into a <input type="hidden" name="uploaded_files[]">. This way you’ll have access to the uploaded files in your update() method.
Then you can move them from the temp folder to the final location just like before.