I think that MS does not do a great job of describing how to best determine a partition key for Cosmos DB - especially if folks are generally suggesting to use the Primary Key of the database as the partition key (which may be perfectly acceptable sometimes, but I can't see how it would be the normal).
In a recent project, this is how we decided to identify a partition key and item id for the objects in our system. I think this would apply to many systems that have natural composite primary key candidates on their objects.
In our system, every object is restrict to a state (StateCode) and vendor (VendorId). From there, we have multiple entities like Sales Orders, Customers, Widgets, ... In our SQL Server implementation, every table had an obvious natural composite primary key of StateCode, VendorId, EntityId. In the Cosmos DB scenario, we chose the Partition Key to be StateCode-Vendor-EntityType with an Item Id of EntityId. This allows all the entities of a specific type to be queried within a partition (saving RUs) while still allowing very simple querying within that partition (eg, homogenous entities). You end up utilizing all parts of the composite natural key in this way, but allow for actual partitioning of entities.
In more complicated scenarios, where we wanted to query across entities for a given vendor, we can remove EntityType from the partition key and either move it into the item id or use it to filter the objects being searched. This allows cross entity querying within a partition, but the query itself is slightly more complicated because of heterogenous entities.
If the entire ID of the entity is in the Partition Key, then you pretty much have to always look up the item individually or search every partition when not looking up by ID - at which point who cares how evenly your data is distributed across partitions if you have to search them all anyway.
Perhaps the OP can describe more about the entities - do they have natural composite key candidates (regardless of whether they're being used or not in SQL implementation)? If not, what does the current persistence layer look like in terms of identifying items in the system by some id?