Again, this might follow if, say, nobody had ever tried to come up with such tools, and we were going to try for the first time this year. But people have been trying, and failing, and failing. Of course it will be easier when the tools exist; robot.walk_to(grocery_store) is as easy as any other function to call, but it is obviously much harder to implement.
In the "mathematical sense" I can simply assert the existence of "recognize_character(image_matrix)". In reality, the complexity of such a function is obviously much higher than, say, a Prolog implementation.
You keep retreating into theory, but again, that's not the world we live in. The world we live in is one in which the problem of sensorimotor perception and manipulation has received immense work on it, and remains in a state in which it is still wildly less capable than my dog in most ways, whereas we were knocking out things like SAT solvers that blow humans away (which are notably incapable of holding very many symbols in their heads at once) decades ago. It doesn't matter if you can theorize a world in which perceptual problems are easier than sensory problems; we don't live there.
So why is robot.walk_to(...) "obviously harder to implement"? How could we know that simpler implementations will never be discovered? What you call "immense work" is not even a century's worth. In hundreds of years, making a robot walk convincingly might be no more difficult than implementing an effective chess AI.
I suppose I'm getting at a concept of minimality (like Komolgorov complexity). Just having a solution does not mean it's a minimal solution. We know enough to say perception is harder right now but not enough to say perception is intrinsically harder. We can't know that new breakthroughs (or just lots of gradual development) won't make these problems simple ones.
(*Actually, I do agree that lots of smart people failing at a problem is probably a good indicator that the problem is hard. This is still no guarantee though.)
That does not necessarily imply that perception is intrinsically so much harder than logic, merely that it is using those tools.
It may turn out for example that there exist (in a mathematical sense) functions which are good at recognizing characters which are simpler than the simplest function which is good at playing chess. If that were the case it would make sense to say that chess is intrinsically harder than character recognition, even if humans have historically had a harder time discovering the recognition functions than the chess playing functions.
On your last paragraph there's a huge difference between a program discovering a good solution to a problem, which is what happens in machine learning, and a programmer discovering such a solution then creating a program to implement it. In the first case we may begin to consider the program to be showing signs of intelligence while in the later it's just a really fast calculator which isn't doing anything the programmer couldn't do.
Is there circularity here - yes because we can say the same thing of the learning program if we treat it at a lower level of abstraction and therein lies perhaps the core of the problem of understanding what we mean by intelligence.