It looks like you are confusing two different numbers:
adb get-serialno gives you the serial number of the device.
Link in your question is referring to IMEI number which can be obtained by adb shell service call iphonesubinfo 1
(see this and this for more)
Going by the context, you should use the first number (serial number) and not IMEI number.
Yes, you need root and without root, it's not possible
Xposed module XPrivacyLua is what I use. I have the pro version which IIRC is needed for spoofing. Non pro blocks access. There are many more such Xposed modules, you find in the repo. Play Store has also some apps that claims to do this but I have not tried them because they cannot be as effective as ...