The standalone tracing is the detail people miss: only the files the server actually imports make it into the runtime stage, which is where most of the size drop comes from. The non-root step pairs well with it and is an easy one to skip.
Exactly. In my test the app files inside the standalone runner came to 59 MB, so most of the 287 MB is the Node base image itself. And non-root is only a couple of lines once the node user owns .next, so there's little reason to skip it.