I agree on the long term goal once we have a stable ABI on Windows but in the short term it still sounds to me like Swift PM should continue to statically link a single executable. In my opinion, this will result in the best user experience out of the box since users will be building a single statically linked library that doesn't require any other libraries to be shipped along.
If user's want to use shared libraries for size optimisations that sounds to me like an advanced use-cases that should be opt-in.
However, I am by far no expert on Windows development and if you say that dynamic libraries should be the standard then we should make that the standard in SwiftPM on Windows. The fact that the default linkage type is nil allows us to adapt this on a platform by platform basis.