lst_sorted = filter(lambda y: y not in lst2, sorted(lst, key=lambda x: datetime.datetime.strptime(x['date'], '%Y-%m-%d')))
>>> lst2 + lst_sorted
[{'date': '2017-09-28'}, {'date': '2017-10-02'}, {'date': '2017-09-01'}, {'date': '2017-09-02'}, {'date': '2017-09-03'}]