### Summary

I suspect a regression in 2.14.4 because in our project, ansible-lint github action suddenly fails this week.
Digging further: 
`ansible localhost  --syntax-check --module-name=include_role --args name=./ansible_collections/ds389/ansible_ds/playbooks/roles/ds389_backup`
now fails with an error generated by dsctl command because 389ds 'localhost' instance does not exists
In other word it is the output of a command run by ansible.builtin.shell while ansible --help says that commands should not be executed.



### Issue Type

Bug Report

### Component Name

core

### Ansible Version

```console
$ ansible --version
ansible [core 2.14.4]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/progier/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/progier/.local/lib/python3.10/site-packages/ansible
  ansible collection location = /home/progier/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/progier/.local/bin/ansible
  python version = 3.10.9 (main, Dec  7 2022, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)] (/usr/bin/python)
  jinja version = 3.0.3
  libyaml = True

$ansible-lint 6.14.5 using ansible 2.14.4
```


### 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() = /etc/ansible/ansible.cfg
```


### OS / Environment

Fedora release 36 (Thirty Six)

### Steps to Reproduce

git clone  https://github.com/389ds/ansible-ds
cd ansible_ds
ansible localhost  --syntax-check --module-name=include_role --args name=./ansible_collections/ds389/ansible_ds/playbooks/roles/ds389_backup

### Expected Results

Either no error or an error that is not a shell command error message.

FYI: The error message and return code value is clearly generated by  389ds administration CLI
which should not be executed in --syntax-check mode:
```
dsctl localhost status ; echo return code is: $?
No such instance 'localhost'
Unable to access instance information. Are you running as the correct user? (usually dirsrv or root)
return code is: 1
```

### Actual Results

```console
a quite long list of 'localhost | SKIPPED' and 'localhost | SUCCESS => {' then:

localhost | FAILED | rc=1 >>
No such instance 'localhost'
Unable to access instance information. Are you running as the correct user? (usually dirsrv or root)non-zero return code
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
"""Add options for commands which need to connection to other hosts"""
    connect_group = parser.add_argument_group("Connection Options", "control as whom and how to connect to hosts")
    connect_group.add_argument('--private-key', '--key-file', default=C.DEFAULT_PRIVATE_KEY_FILE, dest='private_key_file',
                               help='use this file to authenticate the connection', type=unfrack_path())
    connect_group.add_argument('-u', '--user', default=C.DEFAULT_REMOTE_USER, dest='remote_user',
                               help='connect as this user (default=%s)' % C.DEFAULT_REMOTE_USER)
    connect_group.add_argument('-c', '--connection', dest='connection', default=C.DEFAULT_TRANSPORT,
                               help="connection type to use (default=%s)" % C.DEFAULT_TRANSPORT)
    connect_group.add_argument('-T', '--timeout', default=C.DEFAULT_TIMEOUT, type=int, dest='timeout',
                               help="override the connection timeout in seconds (default=%s)" % C.DEFAULT_TIMEOUT)
    
    connect_group.add_argument('--ssh-common-args', default=None, dest='ssh_common_args',
                               help="specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)")
    connect_group.add_argument('--sftp-extra-args', default=None, dest='sftp_extra_args',
                               help="specify extra arguments to pass to sftp only (e.g. -f, -l)")
    connect_group.add_argument('--scp-extra-args', default=None, dest='scp_extra_args',
                               help="specify extra arguments to pass to scp only (e.g. -l)")
    connect_group.add_argument('--ssh-extra-args', default=None, dest='ssh_extra_args',
                               help="specify extra arguments to pass to ssh only (e.g. -R)")
    parser.add_argument_group(connect_group)
    connect_password_group = parser.add_mutually_exclusive_group()
    connect_password_group.add_argument('-k', '--ask-pass', default=C.DEFAULT_ASK_PASS, dest='ask_pass', action='store_true',
                                        help='ask for connection password')
    connect_password_group.add_argument('--connection-password-file', '--conn-pass-file', default=C.CONNECTION_PASSWORD_FILE, dest='connection_password_file',
                                        help="Connection password file", type=unfrack_path(), action='store')
    parser.add_argument_group(connect_password_group)
def add_fork_options(parser):