Fixed the problem by changing the way the OldBlockFields are passed to the FrozenBlock Entity :
public FrozenBlockEntity(BlockPos blockPos, BlockState blockState) {
super(BlockRegister.FROZEN_BLOCK_ENTITY.get(), blockPos, blockState);
this.frozenBlockPos = blockPos;
this.frozenBlock = ((FrozenBlock) blockState.getBlock()).getOldBlockState() != null ? ((FrozenBlock) blockState.getBlock()).getOldBlockState() : Blocks.AIR.defaultBlockState();
this.frozenEntity = ((FrozenBlock) blockState.getBlock()).getOldBlockEntity();
this.frozenEntityData = ((FrozenBlock) blockState.getBlock()).getOldBlockEntityData();
}
public FrozenBlockEntity(BlockPos blockPos, BlockState blockState, BlockState oldBlockState, @Nullable BlockEntity frozenBlockEntity, @Nullable CompoundTag frozenEntityData) {
super(BlockRegister.FROZEN_BLOCK_ENTITY.get(), blockPos, blockState);
this.frozenBlockPos = blockPos;
this.frozenBlock = oldBlockState != null ? oldBlockState : Blocks.AIR.defaultBlockState();
this.frozenEntity = frozenBlockEntity;
this.frozenEntityData = frozenEntityData;
}