[KC 17.x.x] How to access admin UI from port-forwarded/internal URL / prevent redirect from internal url to KC_HOSTNAME

My issue can be reproduced by running this docker-compose file

version: "3"
services:
  keycloak:
    image: quay.io/keycloak/keycloak:17.0.1
    environment:
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin
      KC_PROXY: edge
      KC_HOSTNAME: localhost:8080
      KC_SPI_HOSTNAME_DEFAULT_ADMIN: localhost:8081
    entrypoint: ["/opt/keycloak/bin/kc.sh", "start-dev"]
    ports:
      - 8080:8080
      - 8081:8080
      

startup logs:

keycloak_1  | 2022-04-13 05:30:34,890 INFO  [org.keycloak.quarkus.runtime.hostname.DefaultHostnameProvider] (main) Hostname settings: FrontEnd: localhost:8080, Strict HTTPS: false, Path: <request>, Strict BackChannel: false, Admin: localhost:8081, Port: -1, Proxied: true

Open http://localhost:8081 and click on administration console. You will be redirected to http://localhost:8080/realms/master/protocol/