If running on Atlas, it’s easy to setup change stream processing within a server side app, we’ve done this many times. Setup a trigger and process the data in that, you may need to have a “Last Changed” flag or something to avoid infinite calls between the two triggers…
Depending on if one app only reads the data and the other writes, could you create a view on the data so that you have one set of data that’s formatted in multiple ways?