Currently, tests are not enforced, but this is coming in the future.
Computing code coverage helps validate that the Apex code in your unlocked packages has adequate test coverage. Starting in Winter ‘21, a minimum 75% code coverage is required for package version promotion. Package versions created in Winter ‘21 and later, that don’t meet this code coverage, can only be installed in scratch orgs and sandboxes.
However, this applies when the package version is promoted, not when installing. Packages that are in released status can be deployed with no unit tests run at all. This this one of the major advantages of Unlocked Packages.
It also forces you to have generally 75% coverage in your org, since you can't install those packages without this coverage. This is similar to today's model where installing apps from the AppExchange don't run their tests during installation, allowing for rapid installation in most cases.
Only the tests in the package need to be run, and only during version promotion, thus moving the deployment times down while driving the validation times up, but since this only applies to promotions, it's overall faster than repeatedly failing because of coverage issues.
While we're not currently using this for production, the tests I've tried this on will potentially reduce our deployments from 30-40 minutes to about ... 1 minute. We're looking forward to this, but we have close to 40,000 metadata files we have to convert to Unlocked Packages (via dependencies), which has taken significant time. The end result should be worth the effort many times over.