Hey PSYang, understood! We have the same problem with some cross-tenant reports where we can't upload the report from pbix as the embedded pbix uses a dataset in a different tenant. To solve that we are also using the undocumented stuff where we use PowerShell to rewrite the connection string in the report file to point it to the new dataset before deployment.
I voted for your idea to give us an API to get the model ID. I think that the simplest fix would be if MS allowed us to upload reports with missing datasets and then allowed us to use the dataset rebind to point it to the correct dataset in the local workspace. Reports can already be deployed with missing credentials so it would be consistent with the current workflow (deploy report, fix dataset problems in the PowerBI portal afterwards)