### Summary

The documentation about how systems determine the default shell is confusing.

At the [shell parameter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html#parameter-shell) is written: "See notes for details on how other operating systems determine the default shell by the underlying tool."

The [Notes section](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html#notes) does not contain "details on how other operating systems determine the default shell".

If I read this, I would expect to find something along the lines of "On FreeBSD, the default shell is set by `dscl`". 

Instead, it contains notes on which underlying tools are used by the module to create, modify and remove accounts. This is only helpful if the reader is already aware of the fact that these underlying tools _also_ set the default shell.

Furthermore, since the notes at the shell parameter explicitly spell out what the default shell on macOS is, the user has a reasonable expectation to find similarly worded notes for other operating systems in the Notes.

A possible solution: replace "See notes for details on how other operating systems determine the default shell by the underlying tool." with "On other operating systems, the default shell is determined by the underlying tool invoked by this module. See Notes for a per platform list of invoked tools."

### Issue Type

Documentation Report

### Component Name

lib/ansible/modules/user.py

### Ansible Version

```console
N/a
```


### Configuration

```console
N/a
```


### OS / Environment

N/a

### Additional Information

Previous bug report and attempted (but IMO inadequate) fix here: https://github.com/ansible/ansible/issues/59796. 

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
description: Whether or not the account is a system account.
  returned: When O(system) is passed to the module and the account does not exist
  type: bool
  sample: True
uid:
  description: User ID of the user account.
  returned: When O(uid) is passed to the module
  type: int
  sample: 1044
'''
import ctypes.util
import grp
import calendar
import os
import re
import pty
import pwd
import select
import shutil
import socket
import subprocess
import time
import math
from ansible.module_utils import distro
from ansible.module_utils.common.text.converters import to_bytes, to_native, to_text
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.locale import get_best_parsable_locale
from ansible.module_utils.common.sys_info import get_platform_subclass
import ansible.module_utils.compat.typing as t
class StructSpwdType(ctypes.Structure):