Regarding your example, OpenGL is always dynamically linked because its implementation is provided by the graphics card manufacturer, so each time OpenGL is patched you don't need to rebuild/re-link all the applications. OpenGL on windows is installed when you install the Graphics Card Driver like Nvidia, or ATI, and the OpenG32.dll is usually installed in system32 folder so every application can dynamically link to it.
Regrading other libraries, the best practice is to let the installer put the libraries inside the game directory with your executable, so your executable can see them. Other options is to install them in
system32 but this is BAD, because you will spread your files everywhere in the user's PC, and consequently the user will hate you.
Keep in mind that windows only look at the directories that are defined in the environment variable
Path and the current active directory which is usually the game exe dir. If the libs where somewhere in the directory tree of the game you need to explicitly tell them (depending on how you link) the link library to load
Here is a screen shot from my PC (running Windows 8), for Battlefield 3 directory, clearly the game is using Qt libraries and is installing them inside the games directory. Notice that BF3.exe is one level higher than Qt libs namely in Battlefield 3 Dir. This is only one way to structure your applications libraries.