text: Title: V4: _check_import_id_fields doesn't produce intended error message.
  Body: **Describe the bug**
  With V4 I have started getting following errors on `django-hordak` tests (for some reason it updates to pre versions even if it is not requested):
  
  ```
    File "/home/runner/work/django-hordak/django-hordak/hordak/views/statement_csv_import.py", line 84, in post
      self.result = resource.import_data(
                    ^^^^^^^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.12.1/x64/lib/python3.12/site-packages/django_import_export-4.0.0b2-py3.12.egg/import_export/resources.py", line 799, in import_data
      result = self.import_data_inner(
               ^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.12.1/x64/lib/python3.12/site-packages/django_import_export-4.0.0b2-py3.12.egg/import_export/resources.py", line 835, in import_data_inner
      self._check_import_id_fields(dataset.headers)
    File "/opt/hostedtoolcache/Python/3.12.1/x64/lib/python3.12/site-packages/django_import_export-4.0.0b2-py3.12.egg/import_export/resources.py", line 1068, in _check_import_id_fields
      import_id_fields = [self.fields[f] for f in self.get_import_id_fields()]
                          ~~~~~~~~~~~^^^
  KeyError: 'id'
  ```
  
  (https://github.com/adamcharnock/django-hordak/actions/runs/7421188620/job/20194029428)
  
  I expect, that the `_check_import_id_fields` function should provide better error output like `The following import_id_fields are not present in the dataset` in such cases.
  
  **Versions (please complete the following information):**
   - Django Import Export: 4.0.0b2
   - Python 3.8-3.12
   - Django 4.2-5.0