Based on this fiddle I have to say jQuery’s $(document).ready() executes after a script declared with defer. I tested it with Firefox and Chrome, and both had the same behavior independently of the sequence of the scripts.
I guess behavior on other browsers might change based on their implementation, so it’s always uncertain.
EDIT: As it turns out, the defer attribute should be used with an external javascript file. I edited the fiddle to show this, apparently with the same results.
Updated fiddle here: http://jsfiddle.net/RNEZH/15/