Lua is extremely lightweight and portable. The interpreter doesn't exceed 500 kb in the fattest build, and the used dialect is a strict subset of ANSI C that is equally comfortable running on mainframes as on Nintendo consoles.
In short : If it has a C compiler and can spare 300 kb ram, it can run Lua. So people sometimes use it there.
After a career in embedded software, I'd have to say that I've only worked on a couple of products that had less oomph than a high-end PC of the same era.
Depending on the context, "embedded systems" go even larger, although usually people stop calling it "embedded programming" at some point. Obviously many problems in large embedded systems are different from small ones, but others remain similar.
What's probably different today is that you have more options also on MCUs (not just assembly and maybe C), because MCUs have grown.