In a query with an "order by", "distinct", or aggregate function, the entire query results have to be gathered, sorted, and aggregated before a limit can be applied (regardless of the limit number). You can rewrite the query in a number of ways to achieve the same result, but faster, however, I'd need to see a more lifelike query as the example isn't very realistic of an actual use case.
When considering your example, consider how the DB would determine which result to show (limit 1).. it has to perform some kind of a sort. I'm assuming that your actual examples would include a limit > 1, but i they are using limit 1, then there are many ways to rewrite the queries to take advantage of their limited rows.