Q1 -
As far as one can tell, the keys look good. The comment in the public key looks a bit strange, as it says '... Host Key...'. But this should make no difference, as long as the private part fits to it.
It is correct to generate the key pair on the client side and to send the public part to the server.
On the server side the public key must be appended to the appropriate 'authorized_keys' file of the target user.
You as the client initiate the connection with your private key being in the right place and readable only by you (Unix mode 600).
Q2 - the client sends the key to the server, that's OK.
The server's hostkey must be in your known_hosts file. It depends on the setting of your ssh client whether you let the key be automatically appended (with or without confirmation), or whether you have the key sent to you by the server people and integrate it by yourself. (In Unix - ssh_config / StrictHostKeyChecking).
Unfortunately I can't tell you much about the Windows part of it all, but basically it's the same in Windows and Unix. Paths may differ in Windows, however.
The Solaris paths you mentioned in your Q are correct.
wmp