Simulando origem de transformação usando a conversão

Eu quero simular as propriedades detransform-origin usandotransform: translate em CSS.

De acordo com a MDN, isso é muito possível:

Essa propriedade é aplicada primeiro convertendo o elemento pelo valor negado da propriedade, aplicando a transformação do elemento e, em seguida, convertendo pelo valor da propriedade.

No entanto, quando tento, obtenho resultados incorretos. Esses dois retângulos claramente não são os mesmos:

.origin {
  transform-origin: 100px 100px;
  transform: translate(100px, 0px) scale(2) rotate(45deg);
}

.translate {
  transform: translate(-100px, -100px) translate(100px, 0px) scale(2) rotate(45deg) translate(100px, 100px);
}

.box {
  background-color: red;
  width: 100px;
  height: 100px;
}

.container {
  float: left;
  margin: 100px;
  width: 250px;
  height: 250px;
  background-color: rgba(0, 0, 0, 0.1);
}
<div class="container">
  <div class="box origin">
  </div>
</div>

<div class="container">
  <div class="box translate">
  </div>
</div>

Já tentei procurar a resposta sem sorte há algum tempo e, em minha opinião, deve ser relativamente simples, simplesmente não consigo descobrir.

questionAnswers(2)

yourAnswerToTheQuestion