The problem was solved by:
Removing the mobile/android folder.
Installing dependencies with Yarn in the root monorepo folder.
Adding the problematic dependencies and doctor configs to the root package.json file.
Configuring metro.config.js for the mobile app at the monorepo project's root level.
the metro.config.json:
const { getDefaultConfig } = require('expo/metro-config');
const path = require('path');
// Get the project root
const projectRoot = __dirname;
// Get the monorepo root
const monorepoRoot = path.resolve(projectRoot, '../..');
const config = getDefaultConfig(projectRoot);
// Configure for monorepo
config.watchFolders = [monorepoRoot];
config.resolver.nodeModulesPaths = [
path.resolve(projectRoot, 'node_modules'),
path.resolve(monorepoRoot, 'node_modules'),
];
module.exports = config;