### Summary

The `scp_if_ssh` configuration is ignored due to a default value for `ssh_transfer_method`

### Issue Type

Bug Report

### Component Name

lib/ansible/plugins/connection/ssh.py

### Ansible Version

```console
$ ansible --version
```


### Configuration

```console
$ ansible-config dump --only-changed
```


### OS / Environment

N/A

### Steps to Reproduce

https://github.com/ansible/ansible/blob/26827f50393b21a87b8640387cb77ee0801155ea/lib/ansible/plugins/connection/ssh.py#L274-L283

https://github.com/ansible/ansible/blob/26827f50393b21a87b8640387cb77ee0801155ea/lib/ansible/plugins/connection/ssh.py#L1173-L1194

Because `ssh_transfer_method` has a default of `smart` the `if ssh_transfer_method is not None:` is always `True`, meaning the `else` statement that handles `scp_if_ssh` is ignored.

`ssh_transfer_method` has no host/inventory var, but `scp_if_ssh` does.  I found this targeting a host that does not support sftp.

### Expected Results

`scp_if_ssh` not ignored

### Actual Results

```console
`scp_if_ssh`ignored
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
- name: ANSIBLE_HOST_KEY_CHECKING
              - name: ANSIBLE_SSH_HOST_KEY_CHECKING
                version_added: '2.5'
          vars:
              - name: ansible_host_key_checking
                version_added: '2.5'
              - name: ansible_ssh_host_key_checking
                version_added: '2.5'
      password:
          description: Authentication password for the C(remote_user). Can be supplied as CLI option.
          vars:
              - name: ansible_password
              - name: ansible_ssh_pass
              - name: ansible_ssh_password
      sshpass_prompt:
          description:
              - Password prompt that sshpass should search for. Supported by sshpass 1.06 and up.
              - Defaults to ``Enter PIN for`` when pkcs11_provider is set.
          default: ''
          ini:
              - section: 'ssh_connection'
                key: 'sshpass_prompt'
          env:
              - name: ANSIBLE_SSHPASS_PROMPT
          vars:
              - name: ansible_sshpass_prompt
          version_added: '2.10'
      ssh_args:
          description: Arguments to pass to all ssh cli tools
          default: '-C -o ControlMaster=auto -o ControlPersist=60s'