Here's what my research has found, even though I have not yet gone:
Taxi from dock to Charlotte Amalie ferry (about 5-6 minutes) is about $3 (not sure whether your 2 yo. would be charged), then $7 each way on the ferry to and from St. John. This ferry ride takes about 45 minutes. Taxis are said to be plentiful in St. John for tours or a ride to a beach.
Taxi from dock to Red Hook ferry (about 17-20 minutes) is about $8 each for 2 or more, then $3 ea. for a 20 minute ride to St. John, then reverse on the way back to the ship.
The following is from a website I bookmarked:
"If you are traveling alone, the Charlotte Amalie ferry will be a couple dollars cheaper. If you are traveling in a group the difference in price is less obvious because the Charlotte Amalie taxi price doesn't change when there are more then one persons it remains $3 each person however the Red Hook taxi price is less with more people traveling in the group (taxi to Red Hook for one person is $10 and for more then one person it is $8 a person).
The time comparison; the Charlotte Amalie ferry will take longer by a little over 10 minutes, if there is traffic going to Red Hook the total commute time might work out to be the same in terms of taxi + ferry commute. The Charlotte Amalie ferry does not have an hourly schedule like the Red Hook ferry however it does have a regular and frequent schedule.
The deciding factors you might consider are; would you rather spend more commute time on a ferry-water or on taxi-land; by ferry you will see a bit of the islands coastline and by taxi you will see a bit of St. Thomas while you drive. If you are prone to seasickness it is best you take the Red Hook ferry so that you are spending less time on a ferry boat. Some visitors take both; going to St. John on the Red Hook ferry and seeing a bit of St. Thomas on the taxi ride and then returning directly to Charlotte Amalie on the Charlotte Amalie ferry from St. John - this is an option as you can purchase one way tickets from the ticket counters at the ferry docks. Both the Charlotte Amalie and Red Hook ferry arrive and leave from Cruz Bay, St. John at the same dock. Taxis are always available at the Cruz Bay St. John dock to take you to Trunk Bay, Annaberg or wherever you would like to go on St. John."