Recently I had one of these "boring" tasks at work. Set up simple CRUD API and hook it up to graphql for the front end to consume. Only the graphql server was implemented in the most strange way I'd ever seen, so figuring that out took longer than I thought it would, oh and devops had completely uprooted the way we connect to databases to increase our security.
The company is far from the last agile company I've ever worked at, but on large, complex teams, what I'm describing is incredibly common. You don't know what you don't know.
You need to call out what you don’t know(Now, don’t give me Rumsfeld wisdom.. Most software is not that complicated)
I have worked in companies where ownership is somewhat static(same few folks work on a given area of the product) and things get done within 10% of estimates (a lot of innovation too).
I have also worked in terms where ownership is fluid and “resources” get assigned to tasks. Nothing is now “estimatable”. Your experience is probably in line with the latter.
You can easily do that by estimating very wide and delaying the deliverables until the planned date.
At my current job I'm on a team of generalists partially responsible for making sure work from every team is going to be usable by other teams - which can involve everything from just advising to being embedded in the other team for a few weeks/months (to simplify a bit).
Edit: both companies are in the self driving space.
Software is not rocket science. Rocket science is not rocket science.
[1]: http://sgmljs.net