Windows is actually doing the weird thing here. crashpad_handler was designed to be a distinct process from the very beginning. It’s not saddled with any of the early-startup code that the main executable is, with the heft of all of Chrome having to be mapped in, or with any static initializers that might creep in despite our best efforts to outlaw them. That’s a lot of unused and unnecessary stuff to make available to a process that’s intentionally not sharing very much with Chrome for reasons of stability. crashpad_handler potentially winds up accumulating lots of privilege, which is another reason to limit the amount of code that it might have access to.
The reason that Windows went with the embedded design was to circumvent overzealous antivirus products and binary black/whitelisters that might otherwise nix our ability to launch a distinct executable. This is a valid concern on Windows. Not so much on other systems.
There’s no reason that the --type=crashpad-handler model used by Chrome on Windows wouldn’t work elsewhere, but I still don’t know about using it for Chrome on Mac.