I have used the following:
Thermal mug with lid (available from various places from about £5-8) - link to Field and Trek:
https://www.fieldandtrek.com/gelert-thermal-mug-787186?colcode=78718608Works really well, drinks stay hot for ages and it's small and compact and will fit a bottle cage. The lid can come off, so not 100% secure in a bag.
Regular small (0.7l) stainless Thermos branded flask and mug (I bought mine from Wilko's but the same Thermos also pops up in Sainsbury's and Tesco). A bit taller and thinner than the one above, slightly larger capacity, separate mug, so perhaps a bit more convenient. Much better sealed - I have no qualms about carry it on the bike in a bag. Too narrow to fit in a bottle cage.
Contigo autostop (about 0.7l) works extremely well, has a locking mechanism, so is safe in the bag. Looks nicer than the Thermos and is a bit shorter and wider, so easier to pack. The external finish is a bit delicate, so not ideal for daily carrying - I use mine in the office.
On balance - buy a small traditional stainless steel Thermos flask and I don't think you can go far wrong.