### 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
"""
    This is a macOS hostname manipulation strategy class. It uses
    /usr/sbin/scutil to set ComputerName, HostName, and LocalHostName.
    HostName corresponds to what most platforms consider to be hostname.
    It controls the name used on the command line and SSH.
    However, macOS also has LocalHostName and ComputerName settings.
    LocalHostName controls the Bonjour/ZeroConf name, used by services
    like AirDrop. This class implements a method, _scrub_hostname(), that mimics
    the transformations macOS makes on hostnames when enterened in the Sharing
    preference pane. It replaces spaces with dashes and removes all special
    characters.
    ComputerName is the name used for user-facing GUI services, like the
    System Preferences/Sharing pane and when users connect to the Mac over the network.
    """
    def __init__(self, module):