Another option is to assume that in fact the size of the URL is the problem and change the logic on the OutSystems side.
Instead of sending the json as input, send a guid.
Before redirecting to the problematic screen, generate a guid, use that guid to store the data you need in the database and to retrieve the data again in the other screen.
That way the URL will be much smaller and if the size of the URL is the problem, that will solve it.
If you proceed with this approach don't forget to add an index to the guid column in the database. And also to include a timer that will clean that entity in an off peak period. If you think the hints on that screen will be high, add a column for an is active field. That way once you consume the data associated with the guid you can on the on after fetch event set the is active to false. With that functionality you can then run the timer much more frequently and instead of deleting everything that is in the table, just delete the records that are not active.
Ricardo Costa