I wouldn't call it broken, but some people expect it to operate differently than it does. When given an attack order, artillery will take the path that will get it into bombardment range in the least amount of time. In these cases you have to consider the travel time in different terrains for all the units in the group. In particular Mountains mean slower travel for most units, and I am sure there are mountains in that area.
Note the travel speed in mountains for a level 1 artillery:

thegenericsoldier wrote:
I have artillery in Maribor and I'm trying to bombard Osijek to support an infantry attack. Instead of just going straight to Osijek, the arty decides to go through Zagreb to bombard Osijek.
I wonder if you intented to say that your artillery was in Ljubljana? As to go through Zagreb from Maribor involves a road that doesn't exist on my map.
So from Ljubljana through Maribor to bombardment range of Osijek will take a level 1 artillery 5 hours and 45 minutes.

While to go from Ljubljana through Zagreb and Daruvur to reach bombardment range of Osijek will only take 4 hours and 45 minutes, saving an hour.

This seems to function as expected if I have guessed the routes in question correctly. If you instead mean the road that goes around Zagreb connecting Ljubljana with Daruvar I can see in this image without measuring that it means far more time in the mountains from Ljub to the border of Daruvar than to the border of Zagreb.
At a certain point you have to actually manage your armies movements with the Add Target feature. After all you are playing this game in order to prove that you are smarter than the computer, are you not? In complex situations it will be impossible to create an automated pathfinding feature that pleases everyone.