### Summary

trying to list tags from a playbook with --list-tags option show empty lists for "all" TAGS nor for "task" TAGS



### Issue Type

Bug Report

### Component Name

ansible-playbook

### Ansible Version

```console
$ ansible --version
ansible [core 2.14.3]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/stannum/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.10/site-packages/ansible
  ansible collection location = /home/stannum/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.10.10 (main, Mar  5 2023, 22:26:53) [GCC 12.2.1 20230201] (/usr/bin/python)
  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
CONFIG_FILE() = /etc/ansible/ansible.cfg
```


### OS / Environment

Arch Linux

### Steps to Reproduce


<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

ansible-playbook -i inventory.yaml test.yaml --list-tags

yaml file below:
---
- hosts: all

  tasks:

    - name: Configuring iscsi directory structure
      tags:
        - never
        - raidix_host
      when: inventory_hostname in groups['closed_circuit_kvm_hosts'] and item.state == 'directory'
      become: yes
      ansible.builtin.file:
        path: /etc/iscsi/nodes/{{ item.path }}
        state: directory
        owner: root
        group: root
        mode: u=rw,g=,o=
      with_community.general.filetree: files/etc/iscsi/nodes/
      notify:
        - restart iscsi service

    - name: Configuring iscsi service
      tags:
        - never
        - raidix_host
      when: inventory_hostname in groups['closed_circuit_kvm_hosts'] and item.state == 'file'
      become: yes
      ansible.builtin.copy:
        src: '{{ item.src }}'
        dest: /etc/iscsi/nodes/{{ item.path }}
        owner: root
        group: root
        mode: u=rw,g=,o=
      with_community.general.filetree: files/etc/iscsi/nodes/
      notify:
        - restart iscsi service

  handlers:
    - name: Restarting multipathd
      become: yes
      ansible.builtin.service:
        name: multipathd
        enabled: yes
        state: restarted
      listen: restart multipath service

    - name: Restarting iscsi service
      become: yes
      ansible.builtin.service:
        name: iscsi
        enabled: yes
        state: restarted
      notify: restart multipath service
      listen: restart iscsi service


```


### Expected Results

Expecting to see list of tags in square braces
```
ansible-playbook -i inventory.yaml test.yaml --list-tags

playbook: test.yaml

  play #1 (all): all    TAGS: ["never", "raidix_host"]
      TASK TAGS: ["never", "raidix_host"]
```

### Actual Results

```console
$ ansible-playbook -i inventory.yaml test.yaml --list-tags

playbook: test.yaml

  play #1 (all): all    TAGS: []
      TASK TAGS: []
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
''' the tool to run *Ansible playbooks*, which are a configuration and multinode deployment system.
        See the project home page (https://docs.ansible.com) for more information. '''
    name = 'ansible-playbook'
    def init_parser(self):
        
        super(PlaybookCLI, self).init_parser(
            usage="%prog [options] playbook.yml [playbook2 ...]",
            desc="Runs Ansible playbooks, executing the defined tasks on the targeted hosts.")
        opt_help.add_connect_options(self.parser)
        opt_help.add_meta_options(self.parser)
        opt_help.add_runas_options(self.parser)
        opt_help.add_subset_options(self.parser)
        opt_help.add_check_options(self.parser)
        opt_help.add_inventory_options(self.parser)
        opt_help.add_runtask_options(self.parser)
        opt_help.add_vault_options(self.parser)
        opt_help.add_fork_options(self.parser)
        opt_help.add_module_options(self.parser)
        
        self.parser.add_argument('--list-tasks', dest='listtasks', action='store_true',
                                 help="list all tasks that would be executed")
        self.parser.add_argument('--list-tags', dest='listtags', action='store_true',
                                 help="list all available tags")
        self.parser.add_argument('--step', dest='step', action='store_true',
                                 help="one-step-at-a-time: confirm each task before running")
        self.parser.add_argument('--start-at-task', dest='start_at_task',
                                 help="start the playbook at the task matching this name")
        self.parser.add_argument('args', help='Playbook(s)', metavar='playbook', nargs='+')
    def post_process_args(self, options):