I've never used replit but I'm curious what types of choices the app makes when building. Like how does it decide on the architecture, backend language, frontend framework, etc? Even if the non-technical user is unaware of the tech choices being made, the AI still has to make such decisions. How does it decide?

One token at a time.

If it has detailed context of exactly what the entire app will need to do before writing any code, the first tokens will be more likely to build an architecture that works well in a language and framework that is suited for it.

If the initial context is thin on details, it will still pick an architecture, language, and framework but it may not be the best fit for the end goal. After those choices are made that just becomes more context, and it likely would never consider whether the language is now wrong and the entire codebase should be started fresh with a new language or framework.

It just starts and makes it up as it goes.