Missing type for upload function, still uses the old id format.
### Node Version

20

### NPM/Yarn/PNPM Version

yarn v1

### Strapi Version

5.9.0

### Operating System

Linux (Debian/Ubuntu)

### Database

PostgreSQL

### Javascript or Typescript

Typescript

### Reproduction URL

_No response_

### Bug Description

The type for the upload function in the upload service is missing:
https://github.com/strapi/strapi/blob/c22d1aa5024dc77092c3df7e990ad89dcd79e7b0/packages/core/upload/server/src/services/upload.ts#L231

Currently it's just a Record.
Together with the missing docs on backend uploads, it takes a lot of trial and error and source scraping to get the correct params together.
Before the change to Strapi 5 we used the ```uploadToEntity``` function which is not available anymore, so we needed to switch to the upload function.

Additionally when using the refId, it requires the old id, not the new document Id.
Some consistency would be nice, the change to the documentId was enough of a mess already.

### Steps to Reproduce

1. Have a file on disk
2. Try to upload it via ```strapi.plugins.upload.services.upload.upload()```
3. Find the required params -> good luck

### Expected Behavior

Have a well typed and documented upload service, use the documentId to link a file with an entity.

### Logs

```shell

```

### Code Snippets

_No response_

### Media

_No response_

### Additional information

_No response_

### Confirmation Checklist

- [x] I have checked the existing [issues](https://github.com/strapi/strapi/issues) for duplicates.
- [x] I agree to follow this project's [Code of Conduct](https://github.com/strapi/strapi/blob/develop/CODE_OF_CONDUCT.md).