Yes, the core issue in the database logger example is that it's a circular dependency.
The point of the article is that callback-based APIs like this obscure the actual problems (like circular dependencies).
You're right that constrained designs prevents issues like these but callback-based APIs aren't inherently constrained. They allow anything to happen, which is why they conversely encourage errors like these (and are subject to pitfalls).