Subqueries are evaluated separately when they include an aggregate or window function as I understand it. I agree that it would be helpful in your case if that outside qual was pushed inside.
I assume this query is generated by an ORM and you don't just have the option to simply change it?