inline & defer works just great (and code-wise works identically on mobile & desktop) in the sense it effectively postpones loading of the CSS, but google pagespeed insisght will still mark the deferred CSS as render blocking for the simple reason the real rendering indeed has to wait until the deferred CSS is loaded.
the problem is you’re merely deferring and not inlining (where the inlined CSS can do the initial rendering so the deferred CSS is not considered render-blocking any more). so, now that we’ve reached that conclusion; you really should look into the critical CSS stuff and inline your above-the-fold CSS. have look at the FAQ for info on that topic ??
frank