In theory, sure. In practice the only user and contributor is Wine, so it seems to make more sense to prioritize that usage, even at the cost of slightly complicating things for some hypothetical non-Wine contributor.
I don't agree. Perhaps more important though, it's not quite clear to me what issue we're trying to avoid on the Wine side by replacing the vkd3d copies of these with the Wine copies. Is this purely about modules like e.g. wined3d ending up with two versions of e.g. list_init() in the same module, or is this about something else? I'd be happy to rename the vkd3d versions of these if that helps.