Il y a peut-être d'autres options, mais j'ai aimé utiliser une application appelée Stay, de Cordless Dog : https://cordlessdog.com/stay/ .
Il faut quelques étapes pour enregistrer et modifier la disposition des fenêtres, mais une fois que vous l'avez configurée, Stay gère le branchement et le débranchement des écrans de manière assez transparente.
Pour le mettre en place, vous "stockez" une ou plusieurs fenêtres pour l'application en cours, ou pour toutes les applications. Ces "fenêtres stockées" sont enregistrées pour votre configuration d'affichage actuelle.
Je n'utilise pas Spaces régulièrement, mais d'après la documentation de Stay, si vous téléchargez l'application directement auprès du développeur, au lieu du Mac App Store, l'application prend en charge Spaces : https://cordlessdog.com/stay/documentation/faq/#spaces
Un conseil : si vous voulez que toutes les fenêtres d'une application particulière aient toujours la même taille et la même position que la fenêtre ouverte, utilisez le motif "Match all Windows" après avoir enregistré la fenêtre (consultez "Window Title Pattern Matching" dans les documents du site Web).