You are given a JSON file that describes a sequence of image transformations to be applied to an input image. Each transformation is represented as a JSON object with a "type" field and parameters specific to that type. Your task is to implement a function that reads this JSON file, loads the original image (as a 2-D list of integers representing grayscale pixel values), applies the transformations in the exact order specified, and returns the final transformed image. The supported transformations are: flip_horizontal (reverse each row), flip_vertical (reverse order of rows), rotate_90 / rotate_180 / rotate_270 (rotate clockwise by the given angle), scale (nearest-neighbor down-scaling to the given width & height), and blur (3×3 box filter averaging over neighbors, including edge pixels). You must implement each transformation from scratch (no PIL / OpenCV / scikit-image calls except for initial image loading); handle edge cases for blurring; and ensure that the pipeline is applied sequentially so the output of one step becomes the input to the next. Return the final image as a 2-D list of integers.