Smart Start inclusion requests ignored because "NWI Home ID not found in provisioning list, ignoring request..."?

No, this message does not contain any serial number.

The closest thing you get is the “NWI home ID” which is derived from the device’s DSK but is not completely reversible. You could take all of your device DSKs and calculate them manually, here’s an example Node JS function.

export function nwiHomeIdFromDSK(dsk: Uint8Array): Uint8Array {
	// NWI HomeID 1..4 shall match byte 9..12 of the S2 DSK.
	// Additionally:
	// • Bits 7 and 6 of the NWI HomeID 1 shall be set to 1.
	// • Bit 0 of the NWI HomeID 4 byte shall be set to 0.
	const ret = new Uint8Array(4);
	ret.set(dsk.subarray(8, 12), 0);
	ret[0] |= 0b11000000;
	ret[3] &= 0b11111110;
	return ret;
}

Or you could generate the 8 possible permutations of possible DSK parts from the NWE Home ID by substituting the different possible bit combinations.

Also need to convert from ASCII DSK to bytes. E.g. this example function will take the full DSK and generate the byte array:

export function dskFromString(dsk: string): Uint8Array {
	if (!isValidDSK(dsk)) {
		throw new ZWaveError(
			`The DSK must be in the form "aaaaa-bbbbb-ccccc-ddddd-eeeee-fffff-11111-22222"`,
			ZWaveErrorCodes.Argument_Invalid,
		);
	}

	const ret = new Uint8Array(16);
	const view = Bytes.view(ret);
	const parts = dsk.split("-");
	for (let i = 0; i < 8; i++) {
		const partAsNumber = parseInt(parts[i], 10);
		view.writeUInt16BE(partAsNumber, i * 2);
	}
	return ret;
}

Both functions can be called using Z-Wave JS UI’s driver code feature.