Turn off Admin Bar (Toolbar) in backend – no easy way

While what you used appears to work for now, I couldn’t guarantee it isn’t going to cause other issues now or in the future because – as you already know – tricking is_admin_bar_showing() isn’t what the check of the XMLRPC_REQUEST constant was designed for. Therefore even if it doesn’t cause issues now I don’t think it would future-proof to use it like this.

However, I continued your hunt and I think I’ve found the filter you need: wp_admin_bar_class.

Returning false to this filter – or returning any string that doesn’t match the name of a defined class – will cause _wp_admin_bar_init() to short-circuit and thus never initialize the bar in the first place:

add_filter( 'wp_admin_bar_class', '__return_false' );

This works, but is unfortunately giving me a nice blank gap where the admin bar used to be, because of the wp-toolbar CSS class being present on the dashboard’s <html> tag. This is added in wp-admin/includes/template.php and I can’t immediately see a way to remove it in the PHP. So, you’d probably need to override this padding with custom CSS (sorry, maybe a PHP-only solution isn’t possible after all!):

add_action( 'admin_head', function(){
  ?><style> html.wp-toolbar { padding-top: 0; } </style><?php
});

There may be other slight hiccups as a result of removing the admin bar like this, given that is_admin_bar_showing() still technically returns true, but I think they would be fairly minor, and if you find any, it probably wouldn’t be too difficult to find a workaround.

To be sure (for now at least), you could hunt through the source for any usages of the function. As of 4.5.3, usage appears to be limited to four files: admin-header.php, template.php, admin-bar.php, and post-template.php, and from a cursory glance it appears you might want to filter admin_body_class to remove ‘admin-bar’ from there too, just in case (it’s not making a visible difference for me though).

See also the ‘no-customize-support’ class – I don’t think this will affect you, because it appears to be designed only for ‘hide-if-no-customize’ menu options in the toolbar… which of course you’re not displaying anyway!