How are you storing the data? I’d make sure you decorate it with a UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category=“My Cat”) (or similar, just to be sure it’s serailised properly. If you don’t want it to be displayed in the asset for human editing then you can add a hidecategory meta tag (I forget the exact naming).
You also might want to make sure that within your PostEditChangeProperty you’re calling Modify(true) before you read your texture in, and possibly PostEditChange() after you have reassigned the data. You’d then need to save the asset too.
I modify a few things in this way and not seen issues with the data being lost between sessions.