I don’t know if this is the correct way to do it, but I added a div that is styled like an input box to avoid the keyboard opening. It looks like this (I have some custom styling in mine):
<div ng-click="showDatePickerModal()" class="item item-input item-icon-right item-separator">
<span class="input-label">Date</span>
<span ng-if="date">{{date | date : 'EEEE, MMM d, y'}}</span>
</div>
So in your case you could call opendateModal() in the ng-click of the entire div or just the span where you show the date. I like this way because I can display the date how I want to.
Which keyboard plugin did you use? Have you tried using ionic-plugins-keyboard: cordova.plugins.Keyboard.close()?