The CalloutPopupService Closed event is not raised when you click on a button inside of the RadCallout element. The issue will occur on click of any other element that steals the mouse capture from the RadCallout.
To work this around, you can get the Popup element that hosts the RadCallout and use its Closed event.
CalloutPopupService.Show(callout, frameworkElement, settings);
var popup = callout.ParentOfType<Popup>();
popupt.Closed += CalloutHost_Closed;