How can I check if a custom field was updated?

I think you forgot the priority of hook and number of arguments otherwise code is perfect. If you can update post meta for custom post type then you refer this.

https://codex.wordpress.org/Plugin_API/Action_Reference/updated_(meta_type)_meta

Try Like this:

add_action( 'updated_post_meta', 'bg_update', 10, 4 );

For custom post type EX: abc

<?php add_action( "updated_{$meta_type}_meta", $function_name', 10, 4 ); ?>

<?php add_action( "updated_abc_meta", $function_name', 10, 4 ); ?>

UPDATE

function save_custom_field( $post_id, $post, $update ) {
//YOUR CODE
}
add_action( 'save_post', 'save_custom_field', 10, 3 );