Missing FieldItem properties while in entity::preSave()
I will answer my own question...

I am not sure when the property initialization comes to play but adding this code into my field item solved it. The get method will look for the property and initialize it if it does not exists with existing value which will result in the field returning correct data.

  /**
   * {@inheritdoc}
   */
  public function preSave() {
    $this-&gt;get('value');
  }