Unreal Engine, during runtime in a game, uses a threaded task/worker system to spread a lot of work over multiple cores.
There are certain operations that may be single-threaded, and if those operations end up being your biggest time sinks, they will tend to limit performance (Amdahls Law, as it were.) Blueprints that are too heavy might be one such thing.
In the editor, the really slow things (lightmass baking) use multi-threading, and the general in-window rendering and preview uses the built-in UE multi-threading.
However, certain build phases may be serialized on something other than CPU – reading data from disk may block you, for example.
Also, certain operations may not be easy (or even possible) to do safely across multiple cores, and thus will end up serializing.
For the phase you’re showing (“Gathering scene geometry,”) it seems like it does 14% per second, so the total length of this phase would be 7 seconds. I would expect it to then use more cores while actually baking lighting. If you don’t see that, then something else is wrong.