Changing execution behaviour based on filename is common in Linux environments too. Some examples:
1. BusyBox is a single executable that executes different commands based on which symlink was used to call it
2. Bash puts itself into compatibility mode if invoked as "sh"
3. "ping" can be invoked as "ping4" or "ping6"
4. Some of git's subcommands are symlinks back to the main executable
5. Clang switches to C++ mode if invoked as "clang++"
6. AppArmor profiles activate on file paths
Your examples are interested, but not comparable.
In your list these are executables that change their own behaviour based on how they are called, whereas in the OP it's the OS changing code based on the name of an application.
But 1-5 is the executable making decisions based on it's command name, not the OS changing behavior.
In all but the last example these are the programs themselves having multiple names. There are literally multiple names on the file system that point to the same executable. So `ping`, `ping4`, and `ping6` are all the same program but it checks $0 to see which name it was invoked as in order to change it’s own behavior.
This is entirely different than when DirectX behaves differently for a program named foo.exe and another one called bar.exe.
AppArmor (and for that matter SELinux) are a different thing yet again. Here the goal is not to fix bugs or incompatibilities, but to add extra security. Similar perhaps, but not nearly as intrusive. Neither involve runtime patching, which is the most salient feature of this crash report.