Here's what I get from a preview campaign, from the time the callback comes in until the call is placed (emphasis added in bold for the line to pay attention to):
###{"category":"connect","data":{"id":"29ab52c9-43fa-405a-98dd-6e164e5a010b","connectedTime":"2022-09-19T20:26:52.700Z","name":"Customer","isConnected":true,"isDisconnected":false,"isDone":false,"state":"CONNECTED","isCallback":true,"isDialer":true,"isChat":false,"isEmail":false,"isMessage":false,"isVoicemail":false,"remoteName":"Customer","recordingState":"none","displayAddress":"","queueName":"RichardQueue","totalAcdDurationSeconds":3,"direction":"Outbound","isInternal":false,"startTime":"2022-09-19T20:26:49.493Z","isDialerPreview":true,"dialerContactId":"dc719a6e4f46bf696e6224fba03af1fb","dialerContactListId":"664149e9-d368-43ac-ae36-943a7b68b985","dialerCampaignId":"dad086fd-9e72-4ccb-b8fc-f8b9aba68a47","callbackNumbers":["+13172222222"]},"type":"Interaction"}
###{"category":"view","data":"Callback","type":"UserAction"}
###{"category":"routingStatus","data":"INTERACTING","type":"UserAction"}
###{"category":"view","data":"InteractionList","type":"UserAction"}
###{"category":"callbackPlaced","data":"29ab52c9-43fa-405a-98dd-6e164e5a010b","type":"Interaction"}
###{"category":"change","data":{"old":{"id":"29ab52c9-43fa-405a-98dd-6e164e5a010b","connectedTime":"2022-09-19T20:26:52.700Z","name":"Customer","isConnected":true,"isDisconnected":false,"isDone":false,"state":"CONNECTED","isCallback":true,"isDialer":true,"isChat":false,"isEmail":false,"isMessage":false,"isVoicemail":false,"remoteName":"Customer","recordingState":"none","displayAddress":"","queueName":"RichardQueue","ani":"Internal","totalAcdDurationSeconds":3,"direction":"Outbound","isInternal":false,"startTime":"2022-09-19T20:26:49.493Z","isDialerPreview":true,"dialerContactId":"dc719a6e4f46bf696e6224fba03af1fb","dialerContactListId":"664149e9-d368-43ac-ae36-943a7b68b985","dialerCampaignId":"dad086fd-9e72-4ccb-b8fc-f8b9aba68a47","callbackNumbers":["+13172222222"]},"new":{"id":"29ab52c9-43fa-405a-98dd-6e164e5a010b","connectedTime":"2022-09-19T20:26:52.700Z","name":"Customer","isConnected":false,"isDisconnected":false,"isDone":false,"state":"CONTACTING","isCallback":true,"isDialer":true,"isChat":false,"isEmail":false,"isMessage":false,"isVoicemail":false,"remoteName":"Customer","recordingState":"none","displayAddress":"","queueName":"RichardQueue","ani":"Internal","totalAcdDurationSeconds":3,"direction":"Outbound","isInternal":false,"startTime":"2022-09-19T20:26:49.493Z","isDialerPreview":true,"dialerContactId":"dc719a6e4f46bf696e6224fba03af1fb","dialerContactListId":"664149e9-d368-43ac-ae36-943a7b68b985","dialerCampaignId":"dad086fd-9e72-4ccb-b8fc-f8b9aba68a47","callbackNumbers":["+13172222222"]}},"type":"Interaction"}
This should be able to be used to identify those scenarios where the call was actually placed, rather than skipped by the user.