Just to add in my two cents worth here if I may?
As far as are you doing it correctly then pretty much yes. There are a couple of other things you could specify in your css link such as media and charset but what you have should work fine.
Example
<link rel=“stylesheet” href=“http://www.mysite.com/css/my-css.css” type=“text/css” media=“screen, projection” charset=“utf-8” />
As to are you gaining or losing anything, I would personally say you are doing both really! 😊
You are gaining as the file (if a really big one - which really css should try to be kept as lean as possible wherever you can) being a static file on the server will load ever so slightly faster, or at least it should do, as opposed to it being stored in the ExpressionEngine database or cache system and then being rendered to the page. Personally though I think the speed increase will probably be very very marginal though. On the other hand if you store the css inside of the ExpressionEngine templates system then you can very easily update what you have without having to open up an FTP program, open the file in an editor and then re-save.
Pretty much up to personal taste on that one though I would think.
Hope that helps.
Best wishes,
Mark