Hi, in bitbucket server the project key is in repo url but in bitbucket cloud it is not.
bitbucket server : https://our-proxy.com/scm/PROJECT_KEY/our-repo.git
bitbucket cloud :https://bitbucket.org/our-team/our-repo.git
This means we must have repo names unique by team, is this by design?
Yes, it is.
Both are 2 different products, although Stash was renamed to Bitbucket Server to reflect the fact that the core functionality is the same. You can read more about that here but they both vary a lot in the features.
No, it isn't. The Workspace ID is in the URL, not the Project ID. The problem with this is the Workspace ID is global against every other customer using Bitbucket Cloud. Projects are used to group repos but the Project ID (for some insane reason) isn't a part of the repository URL.