Después de varios días de búsqueda he encontrado la solución, que al final era una chorradilla.
Código PHP:
<?php
function menu_plugin_partners() {
add_menu_page('Partners', 'Partners', 2, __FILE__, 'page_ppal');
add_submenu_page(__FILE__, 'partners', 'Añadir partner', 10, 'add-partner', 'add_partner');
add_submenu_page(null, 'partners', 'Editar partner', 10, 'edit-partner', 'edit_partner');
add_submenu_page(null, 'partners', 'Borrar partner', 10, 'borrar-partner', 'borrar_partner');
}
add_action('admin_menu', 'menu_plugin_partners');
?>
Lo que había que hacer era poner a null el parent-slug (a quien se ancla esa página como submenú), de esta manera no figura en el submenú de nadie pero wordpress la entiende como una página propia y cuando la llamemos tendrá el menú lateral, la barra de admin, los estilos, y todo lo necesario para que se vea como una página del backend.
No entiendo por qué he tardado en encontrarlo, esto debería figurar en la página del Codex de wordpress :P