Seam's design is not very intuitive in this situation. If you look at Pages.preRender() you'll see that Seam tries to find out the scheme of the URL by looking at the URL. (Why they are not calling request.isSecure(), I don't know ???)
So what you need to do is to setup apache so it adds an http header when decrypting https to http and then you can look for that header in a Servlet Filter and rewrite the URL so Seam sees the right URL. I know it sounds like a total hack, but that's what I'm doing and it works.
I am having the same challenge currently, please can you be more programmatic in your explanations. like say vivid example.