### Summary

Enabling jinja2 native leads to quotes nested in other quotes (single quotes in double quotes or vice versa) being stripped. This stripping is additionally done in a seemingly inconsistent and unpredictable way.

### Issue Type

Bug Report

### Component Name

jinja2

### Ansible Version

```console
$ ansible --version
ansible [core 2.13.3]
  config file = /home/yannik/projects/closed/ansible.cfg
  configured module search path = ['/home/yannik/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.10/site-packages/ansible
  ansible collection location = /home/yannik/projects/closed/vendor_collections
  executable location = /usr/local/bin/ansible
  python version = 3.10.7 (main, Sep  7 2022, 00:00:00) [GCC 12.2.1 20220819 (Red Hat 12.2.1-1)]
  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_NOCOWS(/home/yannik/projects/xxx/ansible.cfg) = True
```


### OS / Environment

fedora 36

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- hosts: all
  tasks:
    - copy:
        content: |
          {{ myvar }}
        dest: out1
      vars:
        myvar: '"hello {{ ansible_host }}"'
    - copy:
        content: |
          {{ myvar }}
        dest: out2
      vars:
        myvar: '"hello"'
    - copy:
        content: |
          {{ myvar }}
        dest: out3
      vars:
        myvar: ' "hello"'
    - copy:
        content: |
         a = {{ myvar }}
        dest: out4
      vars:
        myvar: '"hello {{ ansible_host }}"'
    - copy:
        content: |
         a = {{ myvar }}
        dest: out5
      vars:
        myvar: '"hello"'
    - copy:
        content: |
         a = {{ myvar }}
        dest: out6
      vars:
        myvar: ' "hello"'

```

```
ansible-playbook -i localhost, test.yml
cat ~/out*
```

### Expected Results

This is the result with jinja2 native disabled, and which I would generally expect:

```
"hello localhost"
"hello"
 "hello"
a = "hello localhost"
a = "hello"
a =  "hello"
```

### Actual Results

```console
hello localhost
hello
 "hello"
a = hello localhost
a = "hello"
a =  "hello"
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
Json2Python().visit(
                        ast.parse(out, mode='eval')
                    )
                )
            )
        except (ValueError, SyntaxError, MemoryError):
            pass
        else:
            if unsafe:
                out = wrap_var(out)
    return out
def ansible_concat(nodes):
    """Return a string of concatenated compiled nodes. Throw an undefined error
    if any of the nodes is undefined. Other than that it is equivalent to
    Jinja2's default concat function.
    Used in Templar.template() when jinja2_native=False and convert_data=False.
    """
    return ''.join([to_text(v) for v in nodes])
def ansible_native_concat(nodes):
    """Return a native Python type from the list of compiled nodes. If the
    result is a single node, its value is returned. Otherwise, the nodes are
    concatenated as strings. If the result can be parsed with
    :func:`ast.literal_eval`, the parsed value is returned. Otherwise, the
    string is returned.
    https://github.com/pallets/jinja/blob/master/src/jinja2/nativetypes.py
    """
    head = list(islice(nodes, 2))
    if not head:
        return None
    if len(head) == 1: