I just ran a test...
OOTP 23
start year 1965; ran thru the 1991 season
no historical minors
import complete history
real stats
potential = remaining yrs
adj/wkn = 150-40-30-10
hist txns on; hist lineups & hist injuries off
no coaching or owner goals
injuries very low; no long term injuries
position player fatigue = high
no personalites or morale
base fielding on current season
pitcher stamina based on curr season
1-yr recalc
everything else is defaults (except for insignificant things like WPA graphs and saving game recaps...)
Carl Yastrzemski
year, games at 3B:
1973, 71
1974, 23
1975, 143
1976, 138
1978, 116
1979, 58
1980, 6
1981, 37
1982, 12
1983, 12
IRL, Yaz played 2 games at 3B in '64, 31 in '73
In every year above there were other options to play 3B, just like IRL. For example, in 1975, Rico Petrocelli (whom OOTP played at 2B 38 times, despite Rico not playing 2B at all IRL in '75), Juan Beniquez, Denny Doyle, Bob Heise, and Dick McAuliffe all played 3B IRL in 1975 and were available to the Red Sox most or all of that season in OOTP.
Brian Downing
year, games at C & 3B after 1981:
1982, 3, 2
1983, 0, 0
1984, 95, 1
1985, 88, 1
1986, 91, 0
1987, 13, 6
1988, 87, 2
1989, 98, 0
1990, 42, 6
1991, 87, 0
IRL, Downing did not catch a single game after 37 games behind the dish in 1981, and he only played 3B for 8 games in 1973... Obviously, there would've been other options - just as there were IRL - to play catcher on his teams during those years.
A couple others, without going into as many details:
Bill Russell plays handfuls of games at 2B every year from 1973 thru 1978, despite IRL not playing 2B at all between 1973 to 1983.
Tommy Davis plays significant numbers of games at 3B in '74, '75, '76 despite not playing the position at all IRL in those years...
Again, this is with 1-year recalc and fielding ratings based upon current season... There's a reason there's a bug report for this issue, and the above is it

(And I know for a fact that this issue goes back to
at least version 21.)