When you issue DEFINE QREMOTE(LOCAL_QUEUE) you are making a routing entry that tells WMQ "any time someone on this QMgr opens a queue named LOCAL_QUEUE then instead, use these values for the queue name, the QMgr name and, if specified, resolve to this XMitQ". This entry shows up when you list all the defined queues but it isn't a queue that can hold messages. The only way to create a queue that can hold messages is DEFINE QLOCAL.
The next step is to define the actual target queue where messages can land. Defining the QRemote on the local QMgr does not also define the QLocal on the target QMgr. To do that, you would need to sign onto the target QMgr with Explorer or connect on the command line using runmqsc and issue the DEFINE QLOCAL(REMOTE_QUEUE) there.
It is a bit unfortunate that your example used names like REMOTE_QUEUE because on REMOTE_QUEUE_MANAGER it is actually a QLocal.
FYI - totally unrelated but you might want to consider using dots as name separators like REMOTE.QUEUE instead of REMOTE_QUEUE since WMQ recognizes these as node separators and authorization wildcards respect them.