Well, it wasn't today, but yesterday's end-result stems from this past weekend.
We had the boat out at Canyon Lake this past weekend for some late summer camping and some water time. Boat ran well on Saturday morning, but my wife said it sounded "different." We couldn't place it. While under power getting on plane, it did have a spot in the rev's that sounded slightly different but the rest of the time (idle or full throttle) it sounded the same and the power was there.
By Saturday evening though, things were much different! The exhaust sounded noticeably louder and the engine was running rough. Almost like it had a miss to it, but you could still tell all 4 cyl's were running, and it was down on power.
My first thought was the power head was going out. We put it on the trailer and came home early on Sunday. I ran compression tests on all 4 cyl's Sunday afternoon. Starboard 2 cyl's were at 109 psi cold, and the port 2 cyl's were at 110 psi cold. Piston tops looked in good shape. I was afraid there might be a timing/pinging issue and burning a hole in a piston. They looked fine. There also didn't seem to be any play on the crank or rods when rotating the flywheel back and forth. I can't dig into the motor any further without first taking stuff apart, but based on these visuals it appears ok.
Last night (Monday) I went to drain the oil from the lower unit and I think this is where the majority of the problem lies...
This was originally Quicksilver synthetic lower gear oil that was previously blue in color:

The lower drain/fill plug on the left, the upper vent plug on the right:

Wiped off the plugs onto this rag, I think I've got problems...

I resealed this lower unit last year in May 2019. So I must have put something back in wrong. Last summer it ran great with no issues, or at least it seemed.
Only two positive things out of this:
1) We've been able to keep costs down over the last 9 yrs of ownership due to my ability to work on things. Haven't spent more than $1,500 in 9 years, so maybe it's time.
2) there was no water in the lower unit when I drained it. So, my seal job was good!
Well, time to start studying up on lower units again...