### 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
if command == b'sshpass':
        
        if return_tuple[0] == 5:
            msg = 'Invalid/incorrect username/password. Skipping remaining {0} retries to prevent account lockout:'.format(remaining_retries)
            if remaining_retries <= 0:
                msg = 'Invalid/incorrect password:'
            if no_log:
                msg = '{0} <error censored due to no log>'.format(msg)
            else:
                msg = '{0} {1}'.format(msg, to_native(return_tuple[2]).rstrip())
            raise AnsibleAuthenticationFailure(msg)
        
        
        
        elif return_tuple[0] in [1, 2, 3, 4, 6]:
            msg = 'sshpass error:'
            if no_log:
                msg = '{0} <error censored due to no log>'.format(msg)
            else:
                details = to_native(return_tuple[2]).rstrip()
                if "sshpass: invalid option -- 'P'" in details:
                    details = 'Installed sshpass version does not support customized password prompts. ' \
                              'Upgrade sshpass to use sshpass_prompt, or otherwise switch to ssh keys.'
                    raise AnsibleError('{0} {1}'.format(msg, details))
                msg = '{0} {1}'.format(msg, details)
    if return_tuple[0] == 255:
        SSH_ERROR = True
        for signature in b_NOT_SSH_ERRORS:
            if signature in return_tuple[1]: