I get that, and I'm comfortable writing raw SQL but as the system grows larger and requirements change I inevitably run into the fact that raw SQL doesn't compose. For me the query builders hit that sweet spot of mapping almost one-to-one to raw SQL, while giving me composition when I need it.
Or you could just create a View for flagged posts and join on that as appropriate, no ORM needed.
There's probably some room for limited compositional SQL, but there are ways to get that without a full ORM, given your type system is expressive enough.