I've encountered similar problems when playing around with roImageCanvas components that call standard BRS components. Although the documentation says, "When a screen is closed, it is removed from the stack and the screen which was below the top screen then becomes visible", the behavior I've observed is that the screen isn't actually removed from the display; it is merely over-written by re-displaying the screen that was below the top screen, which amounts to the same thing if the screen below the top screen has an opaque background, as most do. However, if the screen below the top screen does not have an opaque background then the previous screen will still be visible through the transparent areas of the old top screen.
In your case, your popup canvas does not have an opaque background, or any background layer at all actually, so what you're seeing is the non-transparent portions of that layer superimposed over the keyboard screen, which is no longer active even though its pixels are still displayed. I think if you give your popup canvas an opaque background layer (although that may not be what you want) then you'll no longer see the keyboard screen when it is closed.
You have a few typos to fix also: CompossionMode -> CompositionMode, and IsScreenClossed -> IsScreenClosed