We recommend not flying into Mexico City, but rather one of two closer airports: Guanajuato (BJX) or Queretaro (QRO). Some helpful guidance is provided at the link below.
We recommend using a shuttle service such as Bajiogo to get from either BJX or QRO airport to San Miguel (and back). You can arrange this prior to your arrival if you’d like. See link below.

This is completely up to you! There are many home rentals/AirBnbs available, as well as hotels. The city is very walkable, but you can't go wrong with something near the city center/cathedral.
Check those expiration dates if you plan to join us in Mexico :)