When I add ng-model-options="{ updateOn: 'blur' }" to the input element, the datepicker and timepicker stop updating the input and model, and stop closing themselves.
It appears that $viewChangeListeners is not being triggered anymore and therefore dateSelection() is not being called by ng-change.
https://plnkr.co/edit/XF2mduZsuNsaSC7Q1Vgs?p=preview