How you get ODOM will depend on the hardware you're using, but at a high level you seem to understand it.
You do not need a gyro for ODOM. Odometry is typically understood to come from encoders that measure rotation of wheels.
In a typical small/hobby/learning differential drive robot the encoder counts for wheel rotation will come from whatever is controlling the motors. Sometimes people will try to control the motors directly with a PC or RPi and issue PWM to a driver chip and try to monitor the encoder lines directly, some will use a small MCU as you mention to do this HW-centric work with a serial or I2C connection to PC, or maybe the best compromise is to buy a purpose built motor controller that does the motor control and the encoder counting for you.
Which one is best depends on your situation. If you're up against a deadline the purpose built motor controller is the way to go. If you're on a tight budget and this is just for fun and learning then an aurdino, H-bridge, and maybe encoder counter chip may by best. If you're looking for a stress induced stomach disorder, try to get an RPi to directly read two high speed encoders, drive dual PWMs and run ROS.
As example, the 3 units on teh right side of this table all provide position feedback which means they can do the encoder counting and pass that data to the PC.
https://www.pololu.com/category/10/br...
- I do not work for or represent pololu or any of the products shown. But have used one of them.