### Summary

Using the `ansible.builtin.hostname` module with an OpenBSD only updates the permanent hostname, not the current hostname. In my opinion, it should update both, similar to behaviour on other platforms.

Looking at the code, I suspect the `OpenBSDStrategy` class in `modules/hostname.py` simply does not implement the `hostname` command. Adding such would fix the issue.

### Issue Type

Bug Report

### Component Name

hostname

### Ansible Version

```console
$ ansible --version
ansible [core 2.14.4]
  config file = None
  configured module search path = ['/Users/rk/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/homebrew/Cellar/ansible/7.4.0/libexec/lib/python3.11/site-packages/ansible
  ansible collection location = /Users/rk/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/homebrew/bin/ansible
  python version = 3.11.3 (main, Apr  7 2023, 20:13:31) [Clang 14.0.0 (clang-1400.0.29.202)] (/opt/homebrew/Cellar/ansible/7.4.0/libexec/bin/python3.11)
  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
ANSIBLE_PIPELINING(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = True
COLLECTIONS_PATHS(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = ['/Users/rk/stack/vnode/vnode-infra']
CONFIG_FILE() = /Users/rk/stack/vnode/vnode-infra/ansible.cfg
DEFAULT_HOST_LIST(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = ['/Users/rk/stack/vnode/vnode-infra/inventory']
DEFAULT_MANAGED_STR(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = This file is managed via Ansible.%n
Any manual changes will be overwritten.
DEFAULT_ROLES_PATH(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = ['/Users/rk/stack/vnode/vnode-infra/roles']

CONNECTION:
==========

local:
_____
pipelining(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = True

psrp:
____
pipelining(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = True

ssh:
___
pipelining(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = True

winrm:
_____
pipelining(/Users/rk/stack/vnode/vnode-infra/ansible.cfg) = True
```


### OS / Environment

Ansible host: MacOS Ventura 13.3.1 (Macbook Pro M1 Max)
Target host: OpenBSD 7.2, python 3.9


### Steps to Reproduce

On the target host, starting with a non-conforming hostname.

```bash
$ cat /etc/myname
nloih0-test
$ hostname
nloih0-test
```

Using the following playbook:
```yaml
---
- name: Hostname is up-to-date
  hosts: nloih0.vnode.net
  become: True
  become_method: doas
  tasks:
    - name: Hostname is up-to-date
      ansible.builtin.hostname:
        name: "{{ inventory_hostname }}"
```

```bash
$ ansible-playbook -v ./test.yml
```

### Expected Results

Post-run, I'd expect both the permanent and current hostname to be updated.

```bash
$ cat /etc/myname
nloih0.vnode.net
$ hostname
nloih0.vnode.net
```

### Actual Results


Results in following system state after ansible run:
```console
$ cat /etc/myname
nloih0.vnode.net
$ hostname
nloih0-test
```

Despite the `ansible.builtint.hostname` module reporting that it made changes:
```
changed: [nloih0.vnode.net] => {"ansible_facts": {"ansible_domain": "", "ansible_fqdn": "nloih0-test", "ansible_hostname": "nloih0", "ansible_nodename": "nloih0.vnode.net"}, "changed": true, "name": "nloih0.vnode.net"}

```


For completeness, I included the run output below. Initially, I put in the output for '-vvvv' but that seemed somewhat excessive. If you'd like further detail, please let me know.
```
% ansible-playbook -vv ./test.yml
ansible-playbook [core 2.14.4]
  config file = /Users/rk/stack/vnode/vnode-infra/ansible.cfg
  configured module search path = ['/Users/rk/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/homebrew/Cellar/ansible/7.4.0/libexec/lib/python3.11/site-packages/ansible
  ansible collection location = /Users/rk/stack/vnode/vnode-infra
  executable location = /opt/homebrew/bin/ansible-playbook
  python version = 3.11.3 (main, Apr  7 2023, 20:13:31) [Clang 14.0.0 (clang-1400.0.29.202)] (/opt/homebrew/Cellar/ansible/7.4.0/libexec/bin/python3.11)
  jinja version = 3.1.2
  libyaml = True
Using /Users/rk/stack/vnode/vnode-infra/ansible.cfg as config file
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: test.yml ******************************************************************************************************************
1 plays in ./test.yml

PLAY [Hostname is up-to-date] *******************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************
task path: /Users/rk/stack/vnode/vnode-infra/test.yml:2
redirecting (type: become) ansible.builtin.doas to community.general.doas
[WARNING]: Platform openbsd on host nloih0.vnode.net is using the discovered Python interpreter at /usr/local/bin/python3.9, but
future installation of another Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-
core/2.14/reference_appendices/interpreter_discovery.html for more information.
ok: [nloih0.vnode.net]

TASK [Hostname is up-to-date] *******************************************************************************************************
task path: /Users/rk/stack/vnode/vnode-infra/test.yml:7
redirecting (type: become) ansible.builtin.doas to community.general.doas
changed: [nloih0.vnode.net] => {"ansible_facts": {"ansible_domain": "", "ansible_fqdn": "nloih0-test", "ansible_hostname": "nloih0", "ansible_nodename": "nloih0.vnode.net"}, "changed": true, "name": "nloih0.vnode.net"}

PLAY RECAP **************************************************************************************************************************
nloih0.vnode.net           : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
for hostname_type in self.name_types:
            cmd = [self.scutil, '--set', hostname_type]
            if hostname_type == 'LocalHostName':
                cmd.append(to_native(self.scrubbed_name))
            else:
                cmd.append(to_native(name))
            rc, out, err = self.module.run_command(cmd)
            if rc != 0:
                self.module.fail_json(msg="Failed to set {3} to '{2}': {0} {1}".format(to_native(out), to_native(err), to_native(name), hostname_type))
    def set_current_hostname(self, name):
        pass
    def update_current_hostname(self):
        pass
    def update_permanent_hostname(self):
        name = self.module.params['name']
        
        all_names = tuple(self.module.run_command([self.scutil, '--get', name_type])[1].strip() for name_type in self.name_types)
        
        expected_names = tuple(self.scrubbed_name if n == 'LocalHostName' else name for n in self.name_types)
        
        if all_names != expected_names:
            if not self.module.check_mode:
                self.set_permanent_hostname(name)
            self.changed = True
class Hostname(object):