It gets a lot more complicated as to ask which tool.
If you take e.g. the layout tools, they allow only one copper layer and only one "insulation" layer. A real PCB has more copper layers and more insulation.
The external copper layer is usually covered by plating. A CES-Expedtion-Boardstation tool can not take account of it.
The same is with the different inner insulations Take as an example a stackup with two different prepregs. The impedance would have to be calculated by taking in account the two materials and the two different dielectric constants. Luckily a complex tool like Hyperlynx can do this calculation. But how to transfer this calculation back to the layout tool? As far as I know it is not possible. So you have to either do the calculation in Hyperlynx and put in the "geometry" in your layout tool or you stick with the layout tool and accept the "miscalculation".What worries me are the intelligent rules for Autorouting, where impedance, over-under swing, noise, coupling or similar are calculated. You never know which "calculation" they take.
As I see it right now there is no clear solution. I personally prefer to do the calculation in Hyperlynx and stick with the result. It is cumbersome.