This crossover has to be referenced on attributes on each of the object references. SR doesn't make a lot of sense in this context because you can't purchase anything for a SR so the only use case would be SR to WO crossover or vice versa, though most people as a business process don't create a SR from a WO. So you may not need to add anything to the SR object and just the WO object.
On WORKORDER, it sounds like you have it working but you should add it to the out of the box TICKET2WO crossover domain (which is tied to the ORIGTKID attribute for follow up WOs).
On POLINE, you would typically tie a crossover domain to REFWO. REFWO will store the actual WONUM for the work requesting that material, which could be a WO or a task. WONUM will only display WOs (no tasks) and could be the same as the REFWO. Because WONUM is a non-persistent display only value, crossing over on it would be unreliable as action/validation is typically suppressed (preventing the crossover from firing).
If you still see issues, on your crossover domain make sure you DON'T have enabled the "No Overwrite" flag on the column. If that is enabled, since it's a YORN field, it would never crossover because it will always have a value.