So I can either create the receiving address from the off-line machine or from the read only part of the wallet which is online?
Technically, yes. Practically, the best practice would be to create it from the watch only wallet, copy and paste it in to the "send" field of your Electrum hot wallet, bring up the advanced preview, then double check the address manually against your cold wallet to ensure it matches prior to hitting "Sign" or "Broadcast". This minimize the chances of any clipboard malware or a malicious version of Electrum changing your address without you noticing.