Chromium automatically defines OS_MACOSX, OS_IOS, OS_WIN, ... by using testing preprocessor macros automatically defined by the compiler (like __APPLE__ or _WIN32) and system headers (like TARGET_OS_IPHONE). See
https://cs.chromium.org/chromium/src/build/build_config.h?sq=package:chromium&l=32
I think that Chromium decided to have OS_IOS be a superset of OS_MACOSX because most of the code written for Apple platform already does this assumption (due to how TARGET_OS_MAC and TARGET_OS_IPHONE are related in Apple system headers). But for all conditions that are outside of source file (which files to build in gn or previously gyp files, which resources to compile in grit files, ...) the condition to test which OS is targeted where made disjoint (as you say it is easier to understand).
For CRD, if you do not depends on //base nor //build/build_config.h from Chromium, you are free to use whatever macro you want to make the distinction between mac and ios in code and gn. If you depends on //base or //build/build_config.h, it may be easier to just reuse the macro for consistency with Chromium.
-- Sylvain