In JSONata you can use msg but it is a compatibility mode and can cause conflicts. You can apppend $$ or not, depending on context scope.
Your JSONata expression has duplication that is not needed, the following will accept any size array of objects.
[{"id":"f840143380835f49","type":"inject","z":"9586c7f692c0bf12","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":200,"wires":[["1b8826ae1415d367"]]},{"id":"1b8826ae1415d367","type":"function","z":"9586c7f692c0bf12","name":"","func":"let today = new Date();\nlet tomorrow = today.setDate(today.getDate() + 1);\nmsg.date = tomorrow\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":200,"wires":[["c7851abbbae31948"]]},{"id":"c7851abbbae31948","type":"nordpool-api-plus","z":"9586c7f692c0bf12","name":"Nordpool ","area":"Oslo","currency":"NOK","x":480,"y":160,"wires":[["b8d0a5d9aaf6a51f"]]},{"id":"b8d0a5d9aaf6a51f","type":"change","z":"9586c7f692c0bf12","name":"JSONata","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t \"priceData\":[\t $$.payload{\t \"value\": $.price,\t \"start\": $moment($.timestamp).utcOffset(1).format() \t }\t ]\t} ","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":200,"wires":[["04af4c51be691c05"]]},{"id":"04af4c51be691c05","type":"debug","z":"9586c7f692c0bf12","name":"debug 21","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":200,"wires":[]}]
expression
{
"priceData":[
$$.payload.{
"value": $.price,
"start": $moment($.timestamp).utcOffset(1).format()
}
]
}