In the end you've got two options:
- Using subkeys is principally the more elegant solution, but barely all OpenPGP clients lack possibilities to select which subkey to encrypt to (the more secure "desktop" subkey, or the less secure "mobile" subkey). Also think about how to make others use the right subkeys (usually, clients select the newest one).
- Using a separate key is the pragmatic workaround to this.
In both cases, you've got two possibilities: copying the private (sub)key to both devices (desktop and mobile) or keeping separate (sub)keys, but encrypting to both of them.