IMO that's mostly because people try to wrap APIs that work just work differently under a single Interface.
If there was an "AndroidNotifications" package for that, that just exposes that API 1:1 in Dart, it would be almost as easy as in native code.