La risposta è ovviamente dipende.

In linea generale, nel DataModule vanno messi quei componenti che sono condivisi nell'intero progetto; per questo motivo ci si va a inserire, ad esempio, il componente che implementa la connessione al database.

Può essere utile inserire al suo interno anche un TClientDataSet, tenendo presente però che se sono creati e visualizzati più Frame che fanno riferimento allo stesso componente CDS inserito nel DM, questi non potranno gestirlo ciascuno separatamente per proprio conto e saranno costretti a "condividerlo"; se ciascuno dei Frame deve invece funzionare separatamente, devono avere il proprio CDS, oppure riferirsi a un CDS distinto definito altrove.

La soluzione corretta va quindi valutata in base alle funzionalità e al modo di impiego di questi Frame.

Io inserisco di solito nel DataModule la connessione e i componenti che effettuano query, mentre i CDS sono definiti all'interno di Form e Frame che, una volta ottenuti i dati dalle query, ne fanno l'uso che preferiscono (filtro, ordinamento, ricerca, aggiornamenti, ecc.).

Ciao!