20 KB is just for a small Hello world! demo (anything with more code is going to be that much larger). Similar Julia demo has run on microcontroller with only 2 KB of RAM, so small is possible (and also small Julia code running in the Linux kernel).
PackageCompiler.jl is likely the go-to solution for now (unless with Python), it supports everything (with some rare exceptions, all packages should work). It’s used in production by some (I’m not sure if using non-defaults, Chris should know). The executables are huge, but can be made non-huge by modern standards, with non-default tricks. Even as is workable for many, just as Julia’s runtime is very workable.