Why does the Arduino Micro act like this with the com ports, when the UNO does not?
Because their USB communication in implemented in very different ways.
The Uno (and most other) Arduino boards have a dedicated on-board usb to serial chip. This means the moment it powers up, it looks like a Serial device.
The Micro (and Leonardo) are based on the ATmega32u4. These microcontrollers have USB built-it USB hardware which wake up not knowing what to do. So they appear as one type of USB device to the PC until the bootloader starts running, at which time, the chip re-enumerates as a Serial device.
Is the AM sharing the ICSP with the micro-usb plug?
Does the UNO have a separate set of serial pins and that's why using my same sketch works fine on the UNO?
USB communication on the Micro/Leonardo uses no pins external (to the microcontroller). The Uno's ATmega328, on the other hand, does use pins 0 and 1 to communicate with the on-board USB to Serial chip. Neither has anything to do directly with the ICSP pins.
The Arduino Leonardo and the Arduino Micro are for keyboard and mouse emulation.
This is not the only
function of the Micro/Leonardo. It is just one of
of functions that the Arduino Library
implements making using of the ATmega32u4's flexible USB hardware. The team saw that many people wanted to emulate a variety of USB devices. The Leonardo/Micro make it much easier to do this than compared to other Arduino boards.