I analyzed the solution scenario and tested it on my end with the same result.
I am not familiar with the exact backend logic that is implemented in the testing framework and this is why consulted with the engineering team on this. It turns out that this kind of initialization of the test is not supported and it is expected to be missing the data. The data object is actually "null" as a result and I would not recommend you to do it in this way.
The best approach, if applicable to your test scenario, is to have both tests in the same project. Then you can add the data and use it in the coded step, as you have done in your first project. If you want to execute steps from the second test, you can use the Test as Step feature from the Step Builder, or the following code sample.
I remain available to continue discussing this topic in more details, if necessary, or if you have additional questions.
Thank you for your understanding.