Unusual Custom Post 404 problem (NOT a permalink issue)

As soon as I was done asking the question, I went to close functions.php for the night and happened to notice the custom post types were being registered along with other admin-specific features inside an if (is_admin()) { evaluator. Taking them out of that did the trick.

Reasonably enough, it looks like custom posts MUST be registered in a publicly-accessible manner.

There must be some law that, regardless of hours of effort leading up to a Stack Exchange question, the solution will present itself within minutes after it’s asked.