Interesting. I'm confused. Can you elaborate how this works for you along with the particular issue of the FirefoxDriver connection?
The way I see it is step 1 creates an instance of Firefox using Java FirefoxDriver, this establishes a WebDriver session locally with the FirefoxDriver (no server JAR started). Step 2 invokes a RemoteWebDriver instance and tells it to connect to some Selenium server and establish a connection. Unless I'm mistaken, this generally is to establish a new session. I don't recall a way to connect to a Selenium server with RemoteWebDriver and tell it to return/connect with a specific existing session. So then how does this "work" for you?
If it did work, I'd assume you probably have to use RemoteWebDriver in step 1 to launch the browser initially as well because FirefoxDriver is all local w/ no server for other driver instances to connect to as Krishnan mentioned being an XPI Firefox extension.
The only way to launch a browser w/o a connection or session is to not use Selenium (e.g. AutoIt, Sikuli, programming code to start an application/process) but then doing it that way, you have no Selenium WebDriver session handle to connect to, meaning you'd have to do all the work w/o Selenium as well. From what I recall of past discussion/info, the only option for this (using Selenium, connect to browser not launched by Selenium) may be with the IE driver, though it was experimental or hacky, or use WatiN/Watir instead.