Proper method of calculating calories spent

Hello

From what I understand different applications (strava, trainerroad, trainingpeaks, garmin devices) uses two different methods to calculate calories spent on exercise.

Method 1: HR method

Probably they use formula like this one: Calorie Burned = ((-95.7735 + (0.634 × HR) + (0.404 × VO2 max) + (0.394 × W) + (0.271 × A)) / 4.184) × 60 × T

or something like that

Method 2: Actual energy spent

That's how strava do that:

P(total) = P(rolling resistance) + P(wind) + P(gravity) + P(acceleration)

But help me understand one thing - why does intensity factor do not taken into account when calculating how many calories been spent?

If we take two athletes one (A) have FTP 200 and another (B) FTP 250 and ask them to do same excersise, let's say 500 kJ/hour, obviously A will have higher TSS for that exercise and his average heartbeat will be higher.

Doesn't he supposed to use more calories that athlete B producing same 500 kJ/hour? If so for how much more? How to calculate that?