Here is how I would do it (Some of the steps are what glibber already said, so I'm basically just adding on to that):
If it's a design with weird angles and things like that, I'd study it first to understand how it's done. By study and by understand I mean the following:
The ErgoDox's thumb cluster for example is at an angle, but in-order to create it in CAD, you need to constraint the sketch but in-order to do that, you need to understand how the thumb cluster is positioned, like relative to what for example.
In the case of ErgoDox, the thumb cluster is made so inner 2U key is sitting below the vertical 1.5u key then the whole cluster is rotated 30 degrees, using the bottom left angle of the B key as the center of rotation (i.e. the spot where B, the key next to it and the inner 2U key meet).
I'd study the design either directly in KLE (keyboard layout editor) or if I need to further measure sizes and things, here's what I'd do:
1. I'd create the design or get it from the presets in KLE
2. I'd paste the raw data in swillkb's builder and generate an SVG of the plate with the switch cutout and stab cutout I want
3. I'd open the SVG in InkScape and I'll copy it
4. I'd create a new empty InkScape file that's set to millimeters and I'll paste the design there
5. I'll turn off the stroke (border) of the switch cutouts and the plate and just fill it with color.
6. I'd check the sizes to make sure they are correct (1u switch cutout needs to be 14mm by 14mm, one keyboard unit (i.e. the space between the centers of two 1u keys) should be 19.05mm, etc)
7. I'd make a new sketch in FreeCAD and I'll recreate the plate using the design opened in InkScape as a reference and to measure things
8. I'll play around with it until I understand it.
Now, when I am ready to make the design here's what I'd do:
1. Figure out how you want your keyboard:
1.1. Is it going to have integrated plate? If so, how do you open the case to insert the PCB? Will it separate in two on the center or will it have a bottom part that is removable, etc
1.2. How do I want the plate to attach to the case and where, etc..
1.3. How will the PCB sit? Like will you be making a tray style of case where the PCB sits on posts or will you just suspend it on the switch legs and solder joints? If you'd do that and specially if you also are going to have a metal case - how will you ground the chassis if it doesn't touch the PCB? (Spoiler alert: You can make your USB connector as a separate PCB that screws to the case and ground the chassis using that PCB)
1.4. Ideally, you'd have the PCB done first so you know its dimensions and stuff but if you figure out everything about it, you can make the case and plate without actually having the PCB done already
2. I'd start FreeCAD and create the file that holds my variables for sizes and dimensions so I can share them between parts (You don't have to fill everything from the start. I do it as I go and find a size I need)
3. I'd create a sketch that's the PCB reference. I.e. it containts the PCB outline as well as the switch center positions and its height position in 3D space would be where the PCB actually would be relative to the other parts of the case
4. If the case would use a separate plate, I'd create the case first, positioning the sketch for it relative to the PCB (where it's going to be positioned will depend on whether you are making the top and extruding towards the bottom or vice versa and obviously how deep you want the case and how much space you want between its inside bottom and the PCB) or if you are going to create it layer by layer. Using the PCB outline as external geometry to use as reference
5. I'd create the plate then, relative to the case and the PCB, using the PCB's switch centers as external geometry to reference when creating the switch cutouts.
Hopefully that helped. Let me know if you have any questions.