Blocksize is not the problem. Rows per block is.
You have not mentioned your OpenEdge version and your platform and have not provided any information about the two apparently different .st files. All of that would be useful.
Generally the entries in the .st file look something like this:
In this case "d" means that it is a data area, "Schema Area" is the name of the storage area, 6 is the area number, 32 is the rows per block and 1 is the blocks per cluster. Those must *all* match between the source and target database.
You must also have the same list of areas.
The number of extents per area, the path to those extents, and the sizes of each extent do not need to be the same.
You can also restore by first deleting the target db and any existing .st file. But you lose some control over where things go and how extents are sized if you do that.
Personally I usually start by taking the source (PROD) structure file, copy it to the target (TEST) and edit the path names, number of, and sizes of extents if any of that needs to change. I then do a "prostrct create" to initialize the db (that saves time when doing the restore).