Query of users for some age, gender, and state, using a subselect
Your query doesn't do what you think it does. It discards the original ordering when it re-sorts. It might, depending on the sorting algorithm chosen, happen to come out how you want, but there's no guarantee.


  I am using sub query because i want sort created_on DESC and email ASC


If that's what you want, just write:

ORDER BY created_on DESC, email ASC


Your bigger worry with performance is that combo side table, which appears to be EAV and thus likely to be painful in performance terms. Consider using a hstore or json field instead.