From my understanding of layers, they are only exposed to the vulkan state of themselves and the layers below them, so I'm not sure how a layer could know to activate when the user pushes .
Could it possible that you can return your own custom functions with vkGetInstanceProcAddr? e.g. PFN_SteamDrawOverlay func = vkGetInstanceProcAddr(vkInst, "SteamDrawOverlay") and proceed that way.