### Summary

I was looking into avoiding recoding values prompted by the pause module in ara and I realised that the echo's return value is hardcoded to true, always has been according to git. The value is set to true in the result before actually checking the task arguments:
https://github.com/ansible/ansible/blob/b86a18bd273499f5d10e581821a47571690660e1/lib/ansible/plugins/action/pause.py#L136-L149

### Issue Type

Bug Report

### Component Name

pause

### Ansible Version

```console
$ ansible --version
ansible [core 2.12.7]
  config file = /home/demarteaub/projects/infra/ansible/ansible.cfg
  configured module search path = ['/home/demarteaub/projects/infra/ansible/vendors/library', '/home/demarteaub/projects/infra/ansible/library']
  ansible python module location = /home/demarteaub/.local/share/virtualenvs/ansible-JeMCc-2q/lib/python3.8/site-packages/ansible
  ansible collection location = /home/demarteaub/projects/infra/ansible/vendors/collections:/home/demarteaub/projects/infra/ansible/collections
  executable location = /home/demarteaub/.local/share/virtualenvs/ansible-JeMCc-2q/bin/ansible
  python version = 3.8.12 (default, May 10 2022, 23:46:40) [GCC 8.5.0 20210514 (Red Hat 8.5.0-10)]
  jinja version = 3.1.2
  libyaml = True
```


### 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
ANSIBLE_PIPELINING(/home/demarteaub/projects/infra/ansible/ansible.cfg) = True
CALLBACKS_ENABLED(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['ansible.posix.profile_tasks', 'ara_default']
COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ignore
COLLECTIONS_PATHS(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['/home/demarteaub/projects/infra/ansible/vendors/collections', '/home/demarteaub/projects/infra/ansible/collections']
DEFAULT_CALLBACK_PLUGIN_PATH(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['/venv/lib/python3.8/site-packages/ara/plugins/callback', '/home/demarteaub/projects/infra/ansible/vendors/callbacks', '/home/demarteaub/projects/infra/ansible/library/callbacks']
DEFAULT_HOST_LIST(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['/home/demarteaub/projects/infra/ansible/inventory/inventory.ini']
DEFAULT_MODULE_PATH(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['/home/demarteaub/projects/infra/ansible/vendors/library', '/home/demarteaub/projects/infra/ansible/library']
DEFAULT_MODULE_UTILS_PATH(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['/home/demarteaub/projects/infra/ansible/library/module_utils']
DEFAULT_ROLES_PATH(/home/demarteaub/projects/infra/ansible/ansible.cfg) = ['/home/demarteaub/projects/infra/ansible/vendors/roles', '/home/demarteaub/projects/infra/ansible/roles']
DEFAULT_STDOUT_CALLBACK(/home/demarteaub/projects/infra/ansible/ansible.cfg) = yaml
DEFAULT_TIMEOUT(/home/demarteaub/projects/infra/ansible/ansible.cfg) = 5
DEFAULT_VAULT_ID_MATCH(/home/demarteaub/projects/infra/ansible/ansible.cfg) = true
DIFF_ALWAYS(/home/demarteaub/projects/infra/ansible/ansible.cfg) = True
INTERPRETER_PYTHON(/home/demarteaub/projects/infra/ansible/ansible.cfg) = /usr/bin/python3
INVENTORY_UNPARSED_IS_FAILED(/home/demarteaub/projects/infra/ansible/ansible.cfg) = True

BECOME:
======

CACHE:
=====

CALLBACK:
========

CLICONF:
=======

CONNECTION:
==========

ssh:
___
pipelining(/home/demarteaub/projects/infra/ansible/ansible.cfg) = True
reconnection_retries(/home/demarteaub/projects/infra/ansible/ansible.cfg) = 1
ssh_args(/home/demarteaub/projects/infra/ansible/ansible.cfg) = -o PreferredAuthentications=publickey
ssh_executable(/home/demarteaub/projects/infra/ansible/ansible.cfg) = /usr/bin/ssh
timeout(/home/demarteaub/projects/infra/ansible/ansible.cfg) = 5

HTTPAPI:
=======

INVENTORY:
=========

LOOKUP:
======

NETCONF:
=======

SHELL:
=====

VARS:
====
```


### OS / Environment

RockyLinux 8

### Steps to Reproduce

```shell
$ ansible -i localhost, -m pause -a echo=false -a prompt=plz all       
[WARNING]: Skipping callback plugin 'ara_default', unable to load
[pause]
plz:
no^M
```

### Expected Results

```shell
localhost | SUCCESS => {
    "changed": false,
    "delta": 0,
    "echo": false,
    "rc": 0,
    "start": "2022-07-28 15:49:13.411063",
    "stderr": "",
    "stdout": "Paused for 0.01 minutes",
    "stop": "2022-07-28 15:49:14.200542",
    "user_input": "no"
}
```

### Actual Results

```console
localhost | SUCCESS => {
    "changed": false,
    "delta": 0,
    "echo": true,
    "rc": 0,
    "start": "2022-07-28 15:49:13.411063",
    "stderr": "",
    "stdout": "Paused for 0.01 minutes",
    "stop": "2022-07-28 15:49:14.200542",
    "user_input": "no"
}
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
curses.setupterm()
        HAS_CURSES = True
    except (curses.error, TypeError, io.UnsupportedOperation):
        HAS_CURSES = False
except ImportError:
    HAS_CURSES = False
MOVE_TO_BOL = b'\r'
CLEAR_TO_EOL = b'\x1b[K'
if HAS_CURSES:
    
    MOVE_TO_BOL = curses.tigetstr('cr') or MOVE_TO_BOL
    CLEAR_TO_EOL = curses.tigetstr('el') or CLEAR_TO_EOL
def setraw(fd, when=termios.TCSAFLUSH):
    """Put terminal into a raw mode.
    Copied from ``tty`` from CPython 3.11.0, and modified to not remove OPOST from OFLAG
    OPOST is kept to prevent an issue with multi line prompts from being corrupted now that display
    is proxied via the queue from forks. The problem is a race condition, in that we proxy the display
    over the fork, but before it can be displayed, this plugin will have continued executing, potentially
    setting stdout and stdin to raw which remove output post processing that commonly converts NL to CRLF
    """
    mode = termios.tcgetattr(fd)
    mode[tty.IFLAG] = mode[tty.IFLAG] & ~(termios.BRKINT | termios.ICRNL | termios.INPCK | termios.ISTRIP | termios.IXON)
    
    mode[tty.CFLAG] = mode[tty.CFLAG] & ~(termios.CSIZE | termios.PARENB)
    mode[tty.CFLAG] = mode[tty.CFLAG] | termios.CS8
    mode[tty.LFLAG] = mode[tty.LFLAG] & ~(termios.ECHO | termios.ICANON | termios.IEXTEN | termios.ISIG)
    mode[tty.CC][termios.VMIN] = 1
    mode[tty.CC][termios.VTIME] = 0
    termios.tcsetattr(fd, when, mode)
class AnsibleTimeoutExceeded(Exception):