Currently, we have to limit the time frame to reduce the size of the file on a report showing all of the activities on opportunities if there are any, but we really only need the last activity record which we get in the Excel by exporting and deduping.
Unfortunately you can't create a Row-Level Report Formula in a Custom Report Type that has a "with or without" Object Relationship.
You'd need to do something custom like a Record Triggered Flow that inserta the most recent Activity Id into a custom field on the Opportunity Object, or something like that, but even then you're facing some pretty long odds