Think of mirroring as really fast log shipping. The transaction log replay includes the target pages of the modifications. The buffer cache is not part of the transaction log.
So, to answer the questions:
1. Yes - a restored database is a copy of the source, including fragmentation
2. No - the target instance has its own buffer cache, and that will be used for the processes in use by that instance. Duplicating the buffer cache would require that the target have enough free cache space to maintain all of the entries in the source, and would also require all of the pages read by the source to be transmitted to the target. If this were a feature of mirroring, I would shut it off immediately.