With the exception of those that are trying to circumvent a question block, folks that end up here asking about programming typically honestly have no idea they are on a completely different site. I've been asking people how they ended up here on Meta when this happens for a while now, the majority of them didn't realize they left Stack Overflow.
Speaking to the first group - there's not much we can do to prevent people from trying their luck here even though they know it's the wrong place to ask on the off chance that they might receive an answer or have their question migrated to the main site. They honestly don't care about the disruption and sadly, no text that we put in front of them is going to make them care. We do issue week long suspensions to folks that deliberately circumvent a block by asking here, and there's no recidivism to speak of.
As others said, there are in fact legitimate reasons that a person working their way out of a ban would come here. We can't block them by policy, and the noise is barely an annoyance when you compare it to what quality blocks stop from ever entering the main site. Unless the problem increases by orders of magnitude, it's more or less the small price we pay for having the blocks in place.
In regards to the second group, it is a tangible issue with visual distinction between the main and meta site. However, as Bart points out, the incidents are infrequent compared to our normal volume.
Long story short, I think we're okay with it for now - but we'll definitely revisit the idea if there is an exaggerated and sustained gain in occurrences for either group.