I'm not sure things are as universally true as you're saying. I've been managed by developers, non- developers, and people who haven't written a line of code in 20 years but were once developers. I can't say I've really noticed any quality/effectiveness differences correlated highly with their ability to develop software. And I've been both on-site and full-time remote.
Evaluating ability, progress, and effort can be done as more of a human problem than a technical one. Heck, current or former developers are more prone to overconfidence in their assessments, especially when they're not personally neck-deep in the exact area.
A good people manager can smell a slacker based on a wealth of signals from 1-1 meetings and the overall flow of work. But the strongest signals come from what the manager picks up from your coworkers, who are almost certainly going to be more qualified to evaluate your progress than the manager could be.
People can still slack off and put up a bullshit screen that'll fool their coworkers for a while, because they're not watching for it. That's not their job anyway, that's the manager's job, and they don't need to be able to hand-code an encrypted distributed hashtable to smell a rat.
That said, it depends on who you have. Some developers need oversight from a knowledgeable manager, especially when remote. Some don't. The purpose of management extends well beyond evaluation, which is more of a cure that you'll need inversely proportionately to how well you do prevention (team dynamics etc.)