Another way without using note field which belongs to transaction context, would be converting IPFS CID to 32 bytes strings that fits both metadatahash and url fields (although on 2.7.1 URL is extended to 96 bytes).
ipfs2bytes32 GitHub repository
ONLINE DEMO
In more complex scenarios URL (96 bytes since 2.7.1) can hold ASA service endpoints which are actually URls and metadatahash field can hold onto IPFS CID (which can be converted to 32 bytes and fits now).