You're using gorilla/mux. When an HTTP request comes in, this router tries to match routes in the order in which you add them.
When you add the route without specifying an HTTP method, it applies to all HTTP methods.
So, if your more specific route matching the DELETE method comes first, then it will match DELETE method calls, and the next route will match all methods. While it would match DELETE also, an actual DELETE call would never reach it because of the route preceding it.
But if you reverse them, the route which doesn't specify an HTTP method will match all methods, including DELETE.