Throwing an ApplicationError when an Admin UI user Saves will undo all UI changes
<!--
Hello 👋 Thank you for submitting an issue.

Before you start, please make sure your issue is understandable and reproducible.
To make your issue readable make sure you use valid Markdown syntax.

https://guides.github.com/features/mastering-markdown/

Please ensure you have also read and understand the contributing guide.

https://github.com/strapi/strapi/blob/main/CONTRIBUTING.md#reporting-an-issue
-->

## Bug report

### Required System information

<!-- Please ensure you are using the Node LTS version (18, 20, or 22) -->
<!-- Strapi v3 is no longer supported, please update to Strapi v4 -->
<!-- If you are reporting a frontend bug please provide error logs after setting STRAPI_ENFORCE_SOURCEMAPS=true in your .env -->
<!-- This environment variable makes frontend errors easier to read and trace -->

- Node.js version: v18.19.0
- NPM version: v10.2.3
- Strapi version: v5.7.0
- Database: Postgres
- Operating system: Ubuntu
- Is your project Javascript or Typescript: JavaScript

<!-- Did you know you can run `yarn strapi report` or `npm run strapi report` to get this information easier? -->

### Describe the bug

To add custom Admin UI input validations, we have a global middleware that validates the submitted data. If the submitted data fails the input validation, we throw an ApplicationError (from `@strapi/utils`). While this displays the error to the Admin UI user, it also resets the form to the previous saved state. This means all the changes on the Admin UI form are lost.

### Steps to reproduce the behavior

1. Add either of the below as a global middleware

```
module.exports = ()=> {
    return async (ctx, next) => {
        if (ctx.request.method === 'PUT' || ctx.request.method === 'POST')
        {
            if (ctx.request.url.includes('/content-manager/collection-types/api::') || 
            ctx.request.url.includes('/content-manager/single-types/api::'))
                return ctx.badRequest('Invalid data has been entered.', { field: 'title' });
        }
        await next();
    }
}
```

or

```
module.exports = ()=> {
    return async (ctx, next) => {
        if (ctx.request.method === 'PUT' || ctx.request.method === 'POST')
        {
            if (ctx.request.url.includes('/content-manager/collection-types/api::') || 
            ctx.request.url.includes('/content-manager/single-types/api::'))
                throw new ApplicationError('Invalid data has been entered.', { field: 'title'});
        }
        await next();
    }
}
```

2. From the Admin UI, modify multiple field values for any of the collection records and click 'Save'
3. This will display the custom error message as expected, it but also resets all the modified field values to the values before any editing was done. This requires re-entering all the modifications before clicking 'Save'.
4. Note that the problem does not occur on clicking 'Publish'. 

### Expected behavior

The custom error message should be displayed and the modified values entered in the fields should remain. 
