I see the same thing (not for all clients) in some of my networks if I change client view to 'only switch clients'.
For example, There is a Samsung Galaxy S8 phone that shows up as 'Android' for the MX view, but not MS view, where it just says 'Other'.
My theory for this is because of the following:
https://documentation.meraki.com/zGeneral_Administration/Monitoring_and_Reporting/Client_Details_Pag...
MX
"Operating System - OS that the device is Running. This is based on how the device handles TCP handshakes and DHCP"
MS
"Operating System - OS that the device is Running."
My switch isn't doing Layer 3 operations, and I would imagine yours are also not since they are MS120's, so all the TCP and DHCP frames/packets are landing on the MX, which is allowing the MX to detect OS type, but not the MS.
I agree however that they should 'probably' show the same thing since the MX is able to determine what it is, so the dashboard would/could/should sync across the board 😃
My suggestion for now is avoid using the 'only switch clients' view for what your trying to do. And change the column view under MX so it shows you switch/port/vlan information etc.