You need to make sure you use the same format as in your app. And remember the display format can be different than the data format on the field level. So look into your datamodel what format your using, and use the same.
Otherwise use the date as a number when it passed. And make sure that the date field has no timestamp in it.
If you want to be sure then format your date like: date(floor(datefield),"d/m/yyyy") as date then your code should work.
But what I recommend you to use in that specific case is selectMatch instead (selectMatch method ‒ Qlik Sense), this method will automatically try to match the date.
Regarding keeping current selections between mashup pages, you can find a good thread here: Re: Keep current selection between mashup page
I hope this helps,
Field API selectValues() method allows either string or numeric values in the array. However, for dates you must use the numeric value of the given date. Check how Qlik converts date values in the documentation here.
Then, the equivalent call of
in 'MM/DD/YYYY' format. You can check the numeric value using the Num(Date(my_date)) Qlik's function.
All you gotta do now is re-create the same conversion from Qlik to your Mashup qlikDateStringToNum().
Hope that helps :-)