I dug into this locally and found a way to fix this. In SlateRHIRenderingPolicy.cpp at the end of FSlateRHIRenderingPolicy::DrawElements, I added the following to reset the scissor rectangle back to the default.
RHICmdList.SetScissorRect(false, 0, 0, 0, 0); // Added this
CurrentBufferIndex = (CurrentBufferIndex + 1) % SlateRHIConstants::NumBuffers;
}
It seemed like the scissor was getting set to a smaller size while rendering the UI element but was never set back to the full screen. This was causing the depth buffer to not get fully cleared which lead to the corruption on screen.