Please don't paste huge amounts of text, use services like pastebin for the purpose.
The pt is not needed on the feeding side, it's what is sent on the WebRTC side: pt=96 means that 96 is negotiated in the SDP with the client, not that gstreamer must send a pt=96 payload, the plugin really doesn't care about that.
Your problem was already described in older posts, so I encourage you to go through them to check what others tried before you. In your case, I assume you're missing a profile=1 or something like that in the H264 encoder. AFAIK Firefox currently expects a specific profile and will ignore it. I think the same can be said about packetization type as well, but I may be wrong.
L.