Должна ли быть идентична модель данных на клиенте и сервере?
Клиент и сервер 2 отдельных приложения, модель соответственно выбираете такую, как вам удобнее. Единственный момент, что часто удобно пользоваться идентичными моделями, чтобы писать меньше повторяющегося кода, ну и в поддержке получается чуть проще(возможно).
Еще вариант - использовать упрощенную модель, повыкидывать ненужные поля, но те, что пересекаются оставить. Так вам может быть проще держать схему в голове.
В общем, делайте, как вам удобнее.
Зависит от сложности модели приложения и (или) способа передачи данных: в целом не обязательно, но если вы придерживаетесь DDD и (или) используете ORM, то гораздо проще, если модели совпадают.