A last-minute penalty saw Ospreys stun Glasgow Warriors 32-31 and end the URC champions’ three-and-a-half-year unbeaten home record in the league.