@PierreCA - operations on complex data types can be delegated back to the server, but that does not mean all attributes of a complex data type can be delegated back to the server.
For example, the DisplayName or Email attribute of a People data type are delegable, but not the Claims, Department, JobTitle, and Photo attribute.
The same applies to LookUp data types. The "Id" field is not delegable but the Value field is delegable.

Although the SharePoint Lookup field allows users to “relate” a field to another list, complex column types, particularly the Lookup column, are expensive from a performance perspective if you have a high volume of records and are only partially delegable (this functionality was created for the SharePoint user interface in mind).
Given you're expecting users to interact with your data using an app interface, the solution here is to drop the use of LookUp data types and instead use fully delegable data types like Single Line Text or Number to relate your lists together using a common identifier (typically the SharePoint ID).