You can upload a stream and monitor that for upload progress - so sure.
If you upload a string for example you would have to take an extra step to get upload progress (make it into a stream and monitor that).
There is additional (unrelated) talk in the fetch standard itself to provide this sort of functionality as part of `fetch` which would save the middle step.
Curious to check but quick question: does it support upload progress? If not, is it considered?