The only workaround I found was to wrap the thing you want to present after the date picker is dismissed like this
// Adjust the delay as needed (I've used 0.25 secs with success)
DispatchQueue.main.asyncAfter(deadline: .now() + delayInSeconds) {
showingConfirmationDialog = true
}