### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

The backdoor API to restart the process provided on `/health` endpoint does not work. 

```shell
❯ docker run -p 4566:4566 -d localstack/localstack:latest
❯ curl -XPOST http://127.0.0.1:4566/health -H "Content-Type: application/json" -d  '{ "action": "restart" }'
❯ docker logs -f 92e3c466b450
Waiting for all LocalStack services to be ready
2022-04-21 12:23:11,211 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2022-04-21 12:23:11,215 INFO supervisord started with pid 15
2022-04-21 12:23:12,226 INFO spawned: 'infra' with pid 21

LocalStack version: 0.14.2
LocalStack build date: 2022-04-20
LocalStack build git hash: f9aa2f55

2022-04-21 12:23:13,419 INFO success: infra entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Starting edge router (https port 4566)...
Ready.
[2022-04-21 12:23:13 +0000] [21] [INFO] Running on https://0.0.0.0:4566 (CTRL + C to quit)
2022-04-21T12:23:13.529:INFO:hypercorn.error: Running on https://0.0.0.0:4566 (CTRL + C to quit)
2022-04-21T12:23:27.032:WARNING:localstack.utils.server.http2_server: Error in proxy handler for request POST http://127.0.0.1:4566/health: 'dict' object is not callable Traceback (most recent call last):
  File "/opt/code/localstack/localstack/utils/server/http2_server.py", line 185, in index
    result = await run_sync(handler, request, data)
  File "/opt/code/localstack/localstack/utils/asyncio.py", line 85, in run_sync
    return await loop.run_in_executor(thread_pool, copy_context().run, func_wrapped)
  File "/opt/code/localstack/localstack/utils/threads.py", line 38, in run
    result = self.func(self.params, **kwargs)
  File "/opt/code/localstack/localstack/utils/asyncio.py", line 30, in _run
    return fn(*args, **kwargs)
  File "/opt/code/localstack/localstack/services/generic_proxy.py", line 972, in handler
    return modify_and_forward(
  File "/opt/code/localstack/localstack/services/generic_proxy.py", line 516, in wrapper
    value = func(*args, **kwargs)
  File "/opt/code/localstack/localstack/services/generic_proxy.py", line 596, in modify_and_forward
    listener_result = listener.forward_request(
  File "/opt/code/localstack/localstack/services/internal.py", line 213, in forward_request
    return super().forward_request(method, path, data, headers)
  File "/opt/code/localstack/localstack/http/adapters.py", line 63, in forward_request
    return super().forward_request(method, path, data, headers)
  File "/opt/code/localstack/localstack/http/adapters.py", line 38, in forward_request
    response = self.request(request)
  File "/opt/code/localstack/localstack/http/adapters.py", line 71, in request
    return self.router.dispatch(request)
  File "/opt/code/localstack/localstack/http/router.py", line 149, in dispatch
    return self.dispatcher(request, handler, args)
  File "/opt/code/localstack/localstack/http/dispatcher.py", line 63, in _dispatch
    result = fn(request, **args)
  File "/opt/code/localstack/localstack/services/internal.py", line 39, in on_post
    data = request.json()
TypeError: 'dict' object is not callable

2022-04-21T12:23:27.033:INFO:localstack.utils.threads: Thread run method <function AdaptiveThreadPool.submit.<locals>._run at 0x7f9b4ff5e9d0>(None) failed: 'dict' object is not callable Traceback (most recent call last):
  File "/opt/code/localstack/localstack/utils/threads.py", line 38, in run
    result = self.func(self.params, **kwargs)
  File "/opt/code/localstack/localstack/utils/asyncio.py", line 30, in _run
    return fn(*args, **kwargs)
  File "/opt/code/localstack/localstack/services/generic_proxy.py", line 972, in handler
    return modify_and_forward(
  File "/opt/code/localstack/localstack/services/generic_proxy.py", line 516, in wrapper
    value = func(*args, **kwargs)
  File "/opt/code/localstack/localstack/services/generic_proxy.py", line 596, in modify_and_forward
    listener_result = listener.forward_request(
  File "/opt/code/localstack/localstack/services/internal.py", line 213, in forward_request
    return super().forward_request(method, path, data, headers)
  File "/opt/code/localstack/localstack/http/adapters.py", line 63, in forward_request
    return super().forward_request(method, path, data, headers)
  File "/opt/code/localstack/localstack/http/adapters.py", line 38, in forward_request
    response = self.request(request)
  File "/opt/code/localstack/localstack/http/adapters.py", line 71, in request
    return self.router.dispatch(request)
  File "/opt/code/localstack/localstack/http/router.py", line 149, in dispatch
    return self.dispatcher(request, handler, args)
  File "/opt/code/localstack/localstack/http/dispatcher.py", line 63, in _dispatch
    result = fn(request, **args)
  File "/opt/code/localstack/localstack/services/internal.py", line 39, in on_post
    data = request.json()
TypeError: 'dict' object is not callable
```

### Expected Behavior

The backdoor API restarts the process successfully.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

* `docker run -p 4566:4566 -d localstack/localstack:latest`

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

* `curl -XPOST http://127.0.0.1:4566/health -H "Content-Type: application/json" -d  '{ "action": "restart" }'`

### Environment

```markdown
- OS: macOS v12.2 (Monterey)
- LocalStack: latest
```


### Anything else?

_No response_
import logging
import os
import re
import signal
import subprocess
import sys
import threading
import traceback
from typing import Dict, List, Union
import boto3
from localstack_client.config import get_service_port
from moto.core import BaseModel
from moto.core.models import InstanceTrackerMeta
from localstack import config, constants
from localstack.constants import ENV_DEV, LOCALSTACK_INFRA_PROCESS, LOCALSTACK_VENV_FOLDER
from localstack.runtime import events, hooks
from localstack.services import generic_proxy, install, motoserver
from localstack.services.generic_proxy import ProxyListener, start_proxy_server
from localstack.services.plugins import SERVICE_PLUGINS, ServiceDisabled, wait_for_infra_shutdown
from localstack.utils import analytics, config_listener, persistence
from localstack.utils.analytics import event_publisher
from localstack.utils.aws.request_context import patch_moto_request_handling
from localstack.utils.bootstrap import (
    canonicalize_api_names,
    get_main_container_id,
    in_ci,
    log_duration,