I modeled a simple coaster in freecad and am having an issue where I set the z height in carbide motion to the top of the work surface beings machining at double that height.
Are you absolutely sure that the Z Zero in FreeCAD matches the Z Zero you set on the machine? The behaviour you describe is consistent with a design Z Zero of bottom-of-stock.
Usually in CC if you get an air job you set Z zero on the bottom in CC but set the Z zero on top of the material. Then you get an air job twice as high as the material thickness. I dont know that software but the behavior fits setting Z zero in the CAD and setting a different location in the CAM.
That’s it. In Freecad a copy of the model is created which is then used to create the tool paths. This model has to be translated below z0 so that it will match the z0 set in carbide motion.