I think I confused you a bit here, because I thought you were asking specifically how the call-stack would work in HACK machine code.
The stack-machine as described in the course, is an intermediate representation. The idea is that translating from a high-level language, such as Jack (the language that is implemented in the second part of the course) directly to hack machine code is hard. Instead we build intermediate steps to help us in the process. The first one is the HACK assembly language, which is very close to the machine language, but is easier to read and write.
The next level is the Stack VM. The VM's language is similar to, but also higher level than the HACK assembly language. We create a translator from vm -> hack. You can read this thread
if you are confused what virtual machine means in this context.
The next part creating a compiler for a high-level language called Jack. So in essence you write a program in Jack, which is then compiled to .vm, which is translated to .asm, which is assembled to executable file. All these steps happen on your actual computer.
The final file can be loaded in the ROM memory of HACK and executed. This is similar to a cartridge-based game consoles.