The calculated distance (air line) between Dundee and Dalkeith is approximately 40 miles respectively 64 kilometers.
By car or train, the actual journey to Dalkeith is certainly longer, as only the direct route (as the crow flies) between Dundee and Dalkeith has been calculated here.