When fishinwrench rebuilt my old motor, I had the same issue as you. It took me forever to find it and once I did, it ran great after that. My timer base was sticking and not advancing the spark which caused it to not idle well especially at the ramp. It sounds like you have a similar issue. You’re getting too much fuel and not enough spark at idle. Which makes it hard to start and idle.
Granted your motor is much newer than my old 79 Rude……you could still have something similar to this. The way I found my issue was to take the cowling off and push the throttle forward (engine off) and checking linkages. I noticed the idler arm was sticking. Then I checked the timer base and saw it was not advancing the spark. Removed the flywheel, cleaned the stupid plastic gasket material OMC designed and cleaned the gunk off of it (grease) and applied an electrical component oil similar to 3-N-1 oil to the gasket and it ran great after that. I dealt with that junk for 3mo and Glen can attest to how large of a pain in the a$$ I was with relentless text messages and phone calls trying to figure out what the problem was. And in the end, I still had to take it back to see the doc before I sold it. LOL! As far as I know, she’s still running around on the lake sometimes. Smoking like Tommy Chong at the ramp on start ups and catching crappie.
If I were you, I’d check linkages and see if there is a chance that there is something so simple for a mechanical part that is not functioning correctly. Because if all electronics test out correctly and the carb is rebuilt, it’s something so simple to fix but will be a giant pain to find it. Then you will get highly upset once you find it. I know because I almost left mine at Prairie Creek with a sign on it that read “FREE BOAT, I HAVE TITLE, HAVE FUN – CALL IF YOU WANT TITLE”. And I’m not kidding. After 3mo, I was beyond mad at it.