promise is callback. When used in the context of the simple data loading scenario typical of D3, there is no difference.
Thinking that promises are callbacks because .then() takes a function suggests misunderstanding.
await thing()
console.log(‘Thing done’)
Also you could attach multiple callbacks to the same Promise at any point, even long after the promise fulfilled.