So this is the upload via browser, right? What is the download speed? If it is just the upload, it could be related to the temporary folder, that it is very small, wrong permissions etc.
If you use native webdav, e.g. with WinSCP? Same problem?
There is something basic not working right, did you check the logs?
https://docs.nextcloud.com/server/20/admin_manual/issues/general_troubleshooting.html