### Summary

When running `ansible -m setup host`, reported `ansible_memtotal_mb` fact changes between invocations.
That's because `setup` reads available non-kernel memory, which fluctuates:

https://github.com/ansible/ansible/blob/2797dc644aa8c809444ccac64cad63e0d9a3f9fe/lib/ansible/module_utils/facts/hardware/openbsd.py#L96-L97

To read total available memory, `hw.physmem` key should be used. Refer to the https://man.openbsd.org/sysctl.2 man, `HW_USERMEM` and `HW_PHYSMEM`.

### Issue Type

Bug Report

### Component Name

setup

### Ansible Version

```console
All.

https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/facts/hardware/openbsd.py#L97
```


### Configuration

```console
N/A
```


### OS / Environment

OpenBSD 7.0

### Steps to Reproduce

On OpenBSD host, run this few times:

```
ansible -m setup openbsd_host | grep memtotal
```

Total memory value will be fluctuation between calls.

### Expected Results

I expect to see total installed memory.

### Actual Results

```console
N/A
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
"""
    OpenBSD-specific subclass of Hardware. Defines memory, CPU and device facts:
    - memfree_mb
    - memtotal_mb
    - swapfree_mb
    - swaptotal_mb
    - processor (a list)
    - processor_cores
    - processor_count
    - processor_speed
    - uptime_seconds
    In addition, it also defines number of DMI facts and device facts.
    """
    platform = 'OpenBSD'
    def populate(self, collected_facts=None):
        hardware_facts = {}
        self.sysctl = get_sysctl(self.module, ['hw'])
        hardware_facts.update(self.get_processor_facts())
        hardware_facts.update(self.get_memory_facts())
        hardware_facts.update(self.get_device_facts())
        hardware_facts.update(self.get_dmi_facts())
        hardware_facts.update(self.get_uptime_facts())
        
        try:
            hardware_facts.update(self.get_mount_facts())
        except timeout.TimeoutError:
            pass
        return hardware_facts
    @timeout.timeout()
    def get_mount_facts(self):