Linking .lib file, but opening file looks for .dll?

In your situation you need to use GetDllHandle derived from FPlatformProcess class inside of your plugin StartupModule function .cpp, this class reference has been explained very well(!) in documentation

Here is a sample

const FString BaseDir = IPluginManager::Get().FindPlugin("<your_plugin>")->GetBaseDir();
const FString PluginDir = FPaths::Combine(*BaseDir, TEXT("Source/ThirdParty"));
FString LibDirMongoCxx = FPaths::Combine(*PluginDir, TEXT("<path to your dll include your dll>"));
auto CoreHandle = FPlatformProcess::GetDllHandle(*LibDirBoost);

if CoreHandle is not null pointer, your dll loaded successfully.

Then go build.cs file of your plugin and delay your dll by

PublicDelayLoadDLLs list by

PublicDelayLoadDLLs.Add("yourverynice.dll");

If you have any concern by order of loading your dlls, please change your loading order in .cpp.

I hope this helps…