Flight data recorders (knots)
ICAO (Annex 6 Part 1) wants the FDR data to be readable in engineering units (knots, feet, etc.). An example from Appendix 9:
2.3.3 Documentation concerning parameter allocation, conversion equations, periodic calibration and other serviceability/maintenance information shall be maintained by the operator. The documentation needs to be sufficient to ensure that accident investigation authorities have the necessary information to read out the data in engineering units.
FAA, EASA, and AAIB, for example, adhere to that:
FDR documentation requirements The FDR records binary data which needs to be decoded. Using a ground replay system, the binary data can be converted to engineering units (knots, feet etc.) by referencing a detailed document specific to the aircraft installation. The generic name for this document is the Data Frame Layout (DFL).
Air and ground operations (knots, "temporarily")
ICAO Annex 5 is all about SI (km/h for airspeed, m/s for wind), but permits the temporary usage of knots:

So officially knots is temporary, but it's what you'd expect from most (not all) nations and it's not going anywhere anytime soon. Mach is a ratio (not a speed), and is used in position reports in oceanic/non-radar environments, for example. Mainly because that's what the airplane normally targets above a certain altitude that is usually below cruising level.
There are also various speeds (for the same unit), for example: ground speed, true airspeed, and indicated airspeed. A controller typically sees the plane's ground speed, but requests an indicated airspeed -- because of how the different speeds work it's a lot more practical for both the pilot and controller to use indicated airspeed.
Related: Why doesn't the aviation industry use SI units?