That is the right format but 'normal people' assume context first so the 12th of January without further context indicates the present year and the 12th of January 2019 or just '19 is enough to disambiguate. The ISO date code was created with computers in mind (sort order) but real people are not computers and besides that there are quite a few other date systems in the world so it is biased to Gregorian anyway.
Again, that is a context thing. If you are talking about your sons upcoming birthday that would be the nearest one. I rarely see people referring to events by the exact date if it isn't some momentous occasion (9/11 ... but what year?), or to plan something.
If you typically refer to all days of the year past when the upcoming one is very close then you'd probably make that plain with some note on context. If not you might find yourself with an unscheduled party on your hands :)
I think it's a small hurdle to overcome. Our visual parsing routine can be updated to read YYYY-MM-DD focusing on the rightmost digits, if those are what's important.
I personally prefer to spell out the first three letters of the name of the month to reduce ambiguity, this works well across all regions in the world I do business with.
No, dates are for humans not computers sorting things. DD-MM-YYYY is "objectively better" because that's how most humans read dates. See where this is going?