Perhaps this?
buddypress\bp-xprofile\classes\class-bp-xprofile-profiledata.php
Line 201: do_action_ref_array( 'xprofile_data_before_save', array( $this ) );
I think this is handling a single field at a time, rather than giving me a $_POST I can work with, so I can’t do exactly the same process. That said, I can make this work. Thanks!
actually it looks like registration is the same, and I had made some wrong assumptions! in any case, thanks!