### Summary

The module `ansible.builtin.dpkg_selections` keeps on changing with the same arguments.

### Issue Type

Bug Report

### Component Name

dpkg_selections

### Ansible Version

```console
$ ansible --version
ansible [core 2.15.1]
  config file = None
  configured module search path = ['/Users/OBFUSCATED/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/OBFUSCATED/venv/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/OBFUSCATED/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/OBFUSCATED/venv/bin/ansible
  python version = 3.9.17 (main, Jun  6 2023, 14:33:55) [Clang 14.0.3 (clang-1403.0.22.14.1)] (/Users/OBFUSCATED/venv/bin/python)
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
CONFIG_FILE() = None
```


### OS / Environment

Controller: Mac OS X
Target: A debian container.

### Steps to Reproduce

The simplest form I could create:

```shell
ansible -m ansible.builtin.dpkg_selections -a "name=kernel selection=hold" -i 2ca39af7901a, -c docker all
```

### Expected Results

I was expecting a `changed: true` once, but actually it's always changed.

### Actual Results

```console
2ca39af7901a | CHANGED => {
    "after": "hold",
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "before": "not present",
    "changed": true
}
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
module = AnsibleModule(
        argument_spec=dict(
            name=dict(required=True),
            selection=dict(choices=['install', 'hold', 'deinstall', 'purge'], required=True)
        ),
        supports_check_mode=True,
    )
    dpkg = module.get_bin_path('dpkg', True)
    name = module.params['name']
    selection = module.params['selection']
    
    rc, out, err = module.run_command([dpkg, '--get-selections', name], check_rc=True)
    if not out:
        current = 'not present'
    else:
        current = out.split()[1]
    changed = current != selection
    if module.check_mode or not changed:
        module.exit_json(changed=changed, before=current, after=selection)
    module.run_command([dpkg, '--set-selections'], data="%s %s" % (name, selection), check_rc=True)
    module.exit_json(changed=changed, before=current, after=selection)
if __name__ == '__main__':
    main()