There's a much deeper reason that MacOS doesn't make focus-follows-mouse easy.
In most window managers (including Windows), the first-class entity is the window. Windows are related to applications (or processes), but they exist as their own thing, operate independently from most other windows without special handling, and usually have their own menu bar.
Apple took a severely different tack on this fundamental abstraction: the first-class entity is the application. At all times, there is at most one application with foreground context and all others are background, and it's actually a pretty expensive operation to switch between them. They did this for a couple reasons (some accident of history and some practical... for example, Apple's decision to put the application's menu at the top of the screen to coincide with the original usability studies on how the edges and corners of the screen were the easiest to mouse to implied there'd be at most one application at a time owning a global menubar context).
This had huge consequences for the constraints put on applications. For a long time, it was hard to write a tiling window manager for Mac OS X because there was no language by which you could describe all windows; you'd have to query every app for the geometry of its windows, then compute a new global layout, then foreground each app so it could update its window positions. This is no longer the case, but it made any TWM implementation a toy for years.
The upshot of this design for focus-follows-mouse is it has a lot of unintended consequences and can make the system actually quite hard to use in a focus-follows-mouse configuration. For one, it induces latency in all your mouse operations if you're constantly toggling the foreground app as you mouse around. For another, it actually makes it quite difficult to mouse to the menu bar if the menu bar is going to change when your mouse drifts over another window.
(It is interesting to observe how, while at some level "they're all just window managers," the detailed decisions made by the different OS developers led to some things being subtlety much harder in one or the other).
In most window managers (including Windows), the first-class entity is the window. Windows are related to applications (or processes), but they exist as their own thing, operate independently from most other windows without special handling, and usually have their own menu bar.
Apple took a severely different tack on this fundamental abstraction: the first-class entity is the application. At all times, there is at most one application with foreground context and all others are background, and it's actually a pretty expensive operation to switch between them. They did this for a couple reasons (some accident of history and some practical... for example, Apple's decision to put the application's menu at the top of the screen to coincide with the original usability studies on how the edges and corners of the screen were the easiest to mouse to implied there'd be at most one application at a time owning a global menubar context).
This had huge consequences for the constraints put on applications. For a long time, it was hard to write a tiling window manager for Mac OS X because there was no language by which you could describe all windows; you'd have to query every app for the geometry of its windows, then compute a new global layout, then foreground each app so it could update its window positions. This is no longer the case, but it made any TWM implementation a toy for years.
The upshot of this design for focus-follows-mouse is it has a lot of unintended consequences and can make the system actually quite hard to use in a focus-follows-mouse configuration. For one, it induces latency in all your mouse operations if you're constantly toggling the foreground app as you mouse around. For another, it actually makes it quite difficult to mouse to the menu bar if the menu bar is going to change when your mouse drifts over another window.
(It is interesting to observe how, while at some level "they're all just window managers," the detailed decisions made by the different OS developers led to some things being subtlety much harder in one or the other).