SetReplacementShader will not render objects if their original materials don't contain any properties required by the replacement shader. For example, if your replacement shader uses _MainTex, and there is an object in the scene that doesn't have _MainTex, it won't be rendered at all.
SetReplacementShader will use the Materials of the existing objects in the scene1). However, it only seems to apply keywords that are registered as
multi_compile. Per-material keywords registered with
shader_feature do not get applied. For example, if you call SetReplacementShader with the default URP
Lit.shader, these keywords will all be turned off:
Shaders can be replaced in the SceneView using