¿Dónde estás intentando esto? Ya veo que es en Chrome, pero me refiero más bien el entorno porque creo que el Asynchronous Clipboard API está activo en Chrome desde 2017.
Así que, si no te reconoce writeText Cannot read properties of undefined (reading 'writeText')
puede ser más bien porque el API del portapapeles está siendo utilizada en un contexto donde no es compatible, o quizás porque el navegador no está ejecutando el código en un contexto seguro (HTTPS).
Si navigator.clipboard no está definido debe de ser eso. Revisa tu entorno y verifica que estás usando HTTPS.
Si estás desarrollando en local, localhost se considera como https aunque no lo sea. Prueba a usar Localhost a ver q tal.
PAra verificar el soporte puedes hacer algo como esto:
if (!navigator.clipboard) {
console.error('API del portapapeles no está disponible.');
alert('API del portapapeles no está disponible en este navegador.');
} else {
// hacer el copiado con el portapapeles...
}