Here is a good undershirt guide. Match the last color on the sleeve of your shirt. If it is black, wear black. If it is White, wear white. If it is red, wear red. If it is navy, wear navy.
The Panel shirts (current MLB) and Vertical Stripe (MiLB/NCAA Championship uniform) wear black for all of them.
The striped collar/cuff shirts match the last stripe color on the sleeve. Navy = Red, Red = Navy, Powder Collar = Navy, Black Collar = Black, Cream/Grey = Black