However my concern is if a user logs out of a device then some time later logs back into the device the push to app approach won't keep the local data upto date.
That is true. Then your app is better to query kii objects with the predefined field
_modified of kii object.
That says, query kii object whose
_modified value greater than the date of last query.
Please refer this document: Querying with predefined keys.
Please note that you should query
_modifed with unix time stamp since 1970 with milliseconds, and using long long value. Similar to