Architectural layers like presentation, business logic and persistence and
patterns like model view controller are technology independent. We could have those three layers or components in a stand-alone desktop application, or spread them across multiple network nodes.
Tiers usually refer to physical machines. 2-tier is commonly a desktop client and database server. Three tiers is usually a client, some kind of application server and a database server. More tiers usually arise from breaking up the middle one.
I like a definition of server as a process that waits for connections and processes requests from clients. So an HTTP server, a servlet container, an
EJB container, a CORBA orb, a Tuxedo TPM or a database all meet the definition.
You could map layers or components one-to-one to your tiers, or you could find some layers split across tiers or two or more on one tier.
Now to your question, what is middleware? I'm not sure there is a solid definition. In my shop it's the glue that connects the nodes, things like MQ-Series. IBM seems to include servers and databases in there some times. Some might consider any "black box" framework stuff as middleware.
Bottom line: There are zillions of choices in architecture. You might find common usage for terms and architectural structures, but don't assume that everybody means the same thing when they use the same words. Ask and make sure