The move to ORC - is IR generation unchanged?

With regard to using LLVM to implement a JIT compiler,

This can be considered to consist of two stages, first generating intermediate code in SSA form and second JIT-compiling it to machine code.

The JIT API has undergone large changes in recent years with the move to ORC.

Do I understand correctly that this only affects the second stage? So when I look at the Kaleidoscope tutorial, e.g. chapter 3 https://llvm.org/docs/tutorial/LangImpl03.html which is one of the chapters acknowledged to have been not yet updated, the example code for the first stage, generating intermediate code, starts with

static LLVMContext TheContext;
static IRBuilder<> Builder(TheContext);
static std::unique_ptr TheModule;
static std::map<std::string, Value *> NamedValues;

Is this still considered to be correct, unaffected by the move to ORC?

Yes, this is correct.