No se puede desplazar a la parte superior del elemento flexible que está desbordando el contenedor

Entonces, al intentar hacer un modo útil usando flexbox, encontré lo que parece ser un problema del navegador y me pregunto si hay una solución o solución conocida, o ideas sobre cómo resolverlo.

Lo que estoy tratando de resolver tiene dos aspectos. Primero, obtener la ventana modal centrada verticalmente, que funciona como se esperaba. El segundo es hacer que la ventana modal se desplace, externamente, de modo que toda la ventana modal se desplace, no el contenido dentro de ella (esto es para que pueda tener menús desplegables y otros elementos de la interfaz de usuario que pueden extenderse fuera de los límites del modal) como un selector de fecha personalizado, etc.)

Sin embargo, al combinar el centrado vertical con las barras de desplazamiento, la parte superior del modal puede volverse inaccesible a medida que comienza a desbordarse. En el ejemplo anterior, puede cambiar el tamaño para forzar el desbordamiento, y al hacerlo le permite desplazarse hacia la parte inferior del modal, pero no hacia la parte superior (el primer párrafo se corta).

Aquí está el enlace al código de ejemplo (altamente simplificado)

https://jsfiddle.net/dh9k18k0/2/

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  overflow-x: auto;
}
.modal-container .modal-window {
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  // Optional support to confirm scroll behavior makes sense in IE10
  //-ms-flex-direction: column;
  //-ms-flex-align: center;
  //-ms-flex-pack: center;
  height: 100%;
}
.modal-container .modal-window .modal-content {
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  width: 100%;
  max-width: 500px;
  padding: 10px
}

Esto afecta (actual) a Firefox, Safari, Chrome y Opera. Curiosamente se comporta correctamente en IE10 si comenta en el CSS prefijado del vendedor de IE10. Todavía no me molesté en probar en IE11, pero supongo que el comportamiento coincide con el de IE10 .

Cualquier idea sería buena. Los enlaces a problemas conocidos o el razonamiento detrás de este comportamiento también serían útiles.