The calculated distance (air line) between Haddington and Queensferry is approximately 24 miles respectively 38 kilometers.
By car or train, the actual journey to Queensferry is certainly longer, as only the direct route (as the crow flies) between Haddington and Queensferry has been calculated here.
Air line (approximately)
38 kilometers
21 nautical miles